diff options
| author | Padma, Santhosh Kumar <skpadma@qti.qualcomm.com> | 2016-05-16 15:25:58 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-05-18 14:36:30 +0530 |
| commit | c82dfa7ec4bc7bd58c865ee9aff837be2a8f513d (patch) | |
| tree | fc878777dd6e77b572f62e212eee9da677b7d3db | |
| parent | bd79ad4212e416d6e3c18dd2c8b771602224d869 (diff) | |
qcacld-2.0: Set non-zero aggregation size
Currently aggregation sizes are passed to fw as they are received
from user application. Add check to send aggregation sizes that
are in permissible range.
Change-Id: I65cd6b63bae277d58bae4d4c3fe2d6f003ccd177
CRs-Fixed: 1016732
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 427401f0fef6..1e40d7fe4af7 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -8550,12 +8550,27 @@ static int __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy, tb[QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION]); request.vdev_id = pAdapter->sessionId; - vos_status = wma_set_tx_rx_aggregation_size(&request); - if (vos_status != VOS_STATUS_SUCCESS) { + if (request.tx_aggregation_size >= + CFG_TX_AGGREGATION_SIZE_MIN && + request.tx_aggregation_size <= + CFG_TX_AGGREGATION_SIZE_MAX && + request.rx_aggregation_size >= + CFG_RX_AGGREGATION_SIZE_MIN && + request.rx_aggregation_size <= + CFG_RX_AGGREGATION_SIZE_MAX) { + vos_status = wma_set_tx_rx_aggregation_size(&request); + if (vos_status != VOS_STATUS_SUCCESS) { + hddLog(LOGE, + FL("failed to set aggr sizes err %d"), + vos_status); + ret_val = -EPERM; + } + } else { hddLog(LOGE, - FL("failed to set aggregation sizes(err=%d)"), - vos_status); - ret_val = -EPERM; + FL("TX %d RX %d MPDU aggr size not in range"), + request.tx_aggregation_size, + request.rx_aggregation_size); + ret_val = -EINVAL; } } return ret_val; |
