From c3a643f552f4d3a15e17f08eddb616086cc34157 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 7 Jan 2010 19:15:05 +0000 Subject: mac80211: update to compat-wireless 2010-01-07 (unoffical snapshot, official ones are not working yet) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19063 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../mac80211/patches/530-mac80211_queue_fix.patch | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 package/mac80211/patches/530-mac80211_queue_fix.patch (limited to 'package/mac80211/patches/530-mac80211_queue_fix.patch') diff --git a/package/mac80211/patches/530-mac80211_queue_fix.patch b/package/mac80211/patches/530-mac80211_queue_fix.patch new file mode 100644 index 000000000..d84167392 --- /dev/null +++ b/package/mac80211/patches/530-mac80211_queue_fix.patch @@ -0,0 +1,69 @@ +--- a/net/mac80211/iface.c ++++ b/net/mac80211/iface.c +@@ -329,7 +329,7 @@ static int ieee80211_open(struct net_dev + if (sdata->vif.type == NL80211_IFTYPE_STATION) + ieee80211_queue_work(&local->hw, &sdata->u.mgd.work); + +- netif_start_queue(dev); ++ netif_tx_start_all_queues(dev); + + return 0; + err_del_interface: +@@ -357,7 +357,7 @@ static int ieee80211_stop(struct net_dev + /* + * Stop TX on this interface first. + */ +- netif_stop_queue(dev); ++ netif_tx_stop_all_queues(dev); + + /* + * Purge work for this interface. +--- a/net/mac80211/mlme.c ++++ b/net/mac80211/mlme.c +@@ -723,7 +723,7 @@ static void ieee80211_set_associated(str + ieee80211_recalc_smps(local, sdata); + mutex_unlock(&local->iflist_mtx); + +- netif_start_queue(sdata->dev); ++ netif_tx_start_all_queues(sdata->dev); + netif_carrier_on(sdata->dev); + } + +@@ -759,7 +759,7 @@ static void ieee80211_set_disassoc(struc + * time -- we don't want the scan code to enable queues. + */ + +- netif_stop_queue(sdata->dev); ++ netif_tx_stop_all_queues(sdata->dev); + netif_carrier_off(sdata->dev); + + rcu_read_lock(); +--- a/net/mac80211/offchannel.c ++++ b/net/mac80211/offchannel.c +@@ -113,7 +113,7 @@ void ieee80211_offchannel_stop_beaconing + */ + if (sdata->vif.type != NL80211_IFTYPE_STATION && + sdata->vif.type != NL80211_IFTYPE_MONITOR) +- netif_stop_queue(sdata->dev); ++ netif_tx_stop_all_queues(sdata->dev); + } + mutex_unlock(&local->iflist_mtx); + } +@@ -131,7 +131,7 @@ void ieee80211_offchannel_stop_station(s + continue; + + if (sdata->vif.type == NL80211_IFTYPE_STATION) { +- netif_stop_queue(sdata->dev); ++ netif_tx_stop_all_queues(sdata->dev); + if (sdata->u.mgd.associated) + ieee80211_offchannel_ps_enable(sdata); + } +@@ -153,7 +153,7 @@ void ieee80211_offchannel_return(struct + if (sdata->vif.type == NL80211_IFTYPE_STATION) { + if (sdata->u.mgd.associated) + ieee80211_offchannel_ps_disable(sdata); +- netif_wake_queue(sdata->dev); ++ netif_tx_wake_all_queues(sdata->dev); + } + + /* re-enable beaconing */ -- cgit v1.2.3