diff options
| author | Komal Seelam <kseelam@qti.qualcomm.com> | 2014-04-14 17:53:24 +0530 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-04-16 19:26:37 -0700 |
| commit | ae82bc8f78d2c970b4a143d68019cb9037a710f9 (patch) | |
| tree | 05c33134f7ce845a97b2a792b783676de4f0e2f5 /CORE/HDD/src | |
| parent | ece40f1ac451d1e582347a9feb86a5dd6e255d0d (diff) | |
qcacld: Fix Unicast Data stall when Multicast traffic is running.
The netif queues are stopped irrespective of timer state. Hence
the queues are blocked always.
Fix by stopping the queues only when timer is expired and renable
the timer.
Change-Id: I660e501dd5057ee945cf590d86da654f08565ee5
CRs-Fixed: 645859
Diffstat (limited to 'CORE/HDD/src')
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 6 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_softap_tx_rx.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index a12d0ff4513f..f5c632db4bb7 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -3202,9 +3202,10 @@ int wlan_hdd_cfg80211_change_iface( struct wiphy *wiphy, return -EINVAL; } } -#endif break; +#endif + #else status = wlan_hdd_change_iface_to_sta_mode(ndev, type); if (status != VOS_STATUS_SUCCESS) @@ -3224,8 +3225,9 @@ int wlan_hdd_cfg80211_change_iface( struct wiphy *wiphy, } #endif /* QCA_LL_TX_FLOW_CT */ - goto done; #endif + goto done; + case NL80211_IFTYPE_ADHOC: hddLog(VOS_TRACE_LEVEL_INFO, "%s: setting interface Type to ADHOC", __func__); diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c index bfc06d915c16..d4eed4127121 100644 --- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c +++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c @@ -612,10 +612,10 @@ int hdd_softap_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) pAdapter->tx_flow_low_watermark, pAdapter->tx_flow_high_watermark_offset)) { - netif_tx_stop_all_queues(dev); if (VOS_TIMER_STATE_STOPPED == vos_timer_getCurrentState(&pAdapter->tx_flow_control_timer)) { + netif_tx_stop_all_queues(dev); vos_timer_start(&pAdapter->tx_flow_control_timer, WLAN_HDD_TX_FLOW_CONTROL_OS_Q_BLOCK_TIME); } |
