summaryrefslogtreecommitdiff
path: root/CORE/HDD/src
diff options
context:
space:
mode:
authorKomal Seelam <kseelam@qti.qualcomm.com>2014-04-14 17:53:24 +0530
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-04-16 19:26:37 -0700
commitae82bc8f78d2c970b4a143d68019cb9037a710f9 (patch)
tree05c33134f7ce845a97b2a792b783676de4f0e2f5 /CORE/HDD/src
parentece40f1ac451d1e582347a9feb86a5dd6e255d0d (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.c6
-rw-r--r--CORE/HDD/src/wlan_hdd_softap_tx_rx.c2
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);
}