diff options
-rw-r--r-- | drivers/net/wireless/adm8211.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath5k/base.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/b43/main.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/b43legacy/main.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/p54/p54common.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/p54/p54pci.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 4 | ||||
-rw-r--r-- | include/net/mac80211.h | 8 | ||||
-rw-r--r-- | net/mac80211/main.c | 8 | ||||
-rw-r--r-- | net/mac80211/util.c | 12 |
12 files changed, 14 insertions, 33 deletions
diff --git a/drivers/net/wireless/adm8211.c b/drivers/net/wireless/adm8211.c index 7af5d8851f67..79dfca546c89 100644 --- a/drivers/net/wireless/adm8211.c +++ b/drivers/net/wireless/adm8211.c | |||
@@ -2015,7 +2015,7 @@ static int adm8211_resume(struct pci_dev *pdev) | |||
2015 | 2015 | ||
2016 | if (priv->mode != IEEE80211_IF_TYPE_INVALID) { | 2016 | if (priv->mode != IEEE80211_IF_TYPE_INVALID) { |
2017 | adm8211_start(dev); | 2017 | adm8211_start(dev); |
2018 | ieee80211_start_queues(dev); | 2018 | ieee80211_wake_queues(dev); |
2019 | } | 2019 | } |
2020 | 2020 | ||
2021 | return 0; | 2021 | return 0; |
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index c76ada178781..3f16ad66bdb5 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c | |||
@@ -1599,7 +1599,7 @@ ath5k_txq_cleanup(struct ath5k_softc *sc) | |||
1599 | sc->txqs[i].link); | 1599 | sc->txqs[i].link); |
1600 | } | 1600 | } |
1601 | } | 1601 | } |
1602 | ieee80211_start_queues(sc->hw); /* XXX move to callers */ | 1602 | ieee80211_wake_queues(sc->hw); /* XXX move to callers */ |
1603 | 1603 | ||
1604 | for (i = 0; i < ARRAY_SIZE(sc->txqs); i++) | 1604 | for (i = 0; i < ARRAY_SIZE(sc->txqs); i++) |
1605 | if (sc->txqs[i].setup) | 1605 | if (sc->txqs[i].setup) |
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index fc23ba5309bd..9445a604a966 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -3497,7 +3497,6 @@ static int b43_wireless_core_start(struct b43_wldev *dev) | |||
3497 | /* Start data flow (TX/RX). */ | 3497 | /* Start data flow (TX/RX). */ |
3498 | b43_mac_enable(dev); | 3498 | b43_mac_enable(dev); |
3499 | b43_interrupt_enable(dev, dev->irq_savedstate); | 3499 | b43_interrupt_enable(dev, dev->irq_savedstate); |
3500 | ieee80211_start_queues(dev->wl->hw); | ||
3501 | 3500 | ||
3502 | /* Start maintainance work */ | 3501 | /* Start maintainance work */ |
3503 | b43_periodic_tasks_setup(dev); | 3502 | b43_periodic_tasks_setup(dev); |
diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wireless/b43legacy/main.c index 7755c59e0803..b05a507ed44d 100644 --- a/drivers/net/wireless/b43legacy/main.c +++ b/drivers/net/wireless/b43legacy/main.c | |||
@@ -2794,7 +2794,6 @@ static int b43legacy_wireless_core_start(struct b43legacy_wldev *dev) | |||
2794 | /* Start data flow (TX/RX) */ | 2794 | /* Start data flow (TX/RX) */ |
2795 | b43legacy_mac_enable(dev); | 2795 | b43legacy_mac_enable(dev); |
2796 | b43legacy_interrupt_enable(dev, dev->irq_savedstate); | 2796 | b43legacy_interrupt_enable(dev, dev->irq_savedstate); |
2797 | ieee80211_start_queues(dev->wl->hw); | ||
2798 | 2797 | ||
2799 | /* Start maintenance work */ | 2798 | /* Start maintenance work */ |
2800 | b43legacy_periodic_tasks_setup(dev); | 2799 | b43legacy_periodic_tasks_setup(dev); |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index b8fb8d8d95ff..54cde8a7b5fa 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -5823,7 +5823,7 @@ static void iwl3945_alive_start(struct iwl3945_priv *priv) | |||
5823 | if (iwl3945_is_rfkill(priv)) | 5823 | if (iwl3945_is_rfkill(priv)) |
5824 | return; | 5824 | return; |
5825 | 5825 | ||
5826 | ieee80211_start_queues(priv->hw); | 5826 | ieee80211_wake_queues(priv->hw); |
5827 | 5827 | ||
5828 | priv->active_rate = priv->rates_mask; | 5828 | priv->active_rate = priv->rates_mask; |
5829 | priv->active_rate_basic = priv->rates_mask & IWL_BASIC_RATES_MASK; | 5829 | priv->active_rate_basic = priv->rates_mask & IWL_BASIC_RATES_MASK; |
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 48c59cbefb4a..db4f606bad50 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -3367,7 +3367,7 @@ static void iwl4965_alive_start(struct iwl_priv *priv) | |||
3367 | if (iwl_is_rfkill(priv)) | 3367 | if (iwl_is_rfkill(priv)) |
3368 | return; | 3368 | return; |
3369 | 3369 | ||
3370 | ieee80211_start_queues(priv->hw); | 3370 | ieee80211_wake_queues(priv->hw); |
3371 | 3371 | ||
3372 | priv->active_rate = priv->rates_mask; | 3372 | priv->active_rate = priv->rates_mask; |
3373 | priv->active_rate_basic = priv->rates_mask & IWL_BASIC_RATES_MASK; | 3373 | priv->active_rate_basic = priv->rates_mask & IWL_BASIC_RATES_MASK; |
diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireless/p54/p54common.c index 9cbef5bce0f6..3d35fe6a8f5f 100644 --- a/drivers/net/wireless/p54/p54common.c +++ b/drivers/net/wireless/p54/p54common.c | |||
@@ -375,9 +375,6 @@ static void inline p54_wake_free_queues(struct ieee80211_hw *dev) | |||
375 | struct p54_common *priv = dev->priv; | 375 | struct p54_common *priv = dev->priv; |
376 | int i; | 376 | int i; |
377 | 377 | ||
378 | /* ieee80211_start_queues is great if all queues are really empty. | ||
379 | * But, what if some are full? */ | ||
380 | |||
381 | for (i = 0; i < dev->queues; i++) | 378 | for (i = 0; i < dev->queues; i++) |
382 | if (priv->tx_stats[i].len < priv->tx_stats[i].limit) | 379 | if (priv->tx_stats[i].len < priv->tx_stats[i].limit) |
383 | ieee80211_wake_queue(dev, i); | 380 | ieee80211_wake_queue(dev, i); |
diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c index fa527723fbe0..7dd4add4bf4e 100644 --- a/drivers/net/wireless/p54/p54pci.c +++ b/drivers/net/wireless/p54/p54pci.c | |||
@@ -665,7 +665,7 @@ static int p54p_resume(struct pci_dev *pdev) | |||
665 | 665 | ||
666 | if (priv->common.mode != IEEE80211_IF_TYPE_INVALID) { | 666 | if (priv->common.mode != IEEE80211_IF_TYPE_INVALID) { |
667 | p54p_open(dev); | 667 | p54p_open(dev); |
668 | ieee80211_start_queues(dev); | 668 | ieee80211_wake_queues(dev); |
669 | } | 669 | } |
670 | 670 | ||
671 | return 0; | 671 | return 0; |
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 171f445962db..d341764e1b24 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c | |||
@@ -125,7 +125,7 @@ int rt2x00lib_enable_radio(struct rt2x00_dev *rt2x00dev) | |||
125 | /* | 125 | /* |
126 | * Start the TX queues. | 126 | * Start the TX queues. |
127 | */ | 127 | */ |
128 | ieee80211_start_queues(rt2x00dev->hw); | 128 | ieee80211_wake_queues(rt2x00dev->hw); |
129 | 129 | ||
130 | return 0; | 130 | return 0; |
131 | } | 131 | } |
@@ -1186,7 +1186,7 @@ int rt2x00lib_resume(struct rt2x00_dev *rt2x00dev) | |||
1186 | * In that case we have disabled the TX queue and should | 1186 | * In that case we have disabled the TX queue and should |
1187 | * now enable it again | 1187 | * now enable it again |
1188 | */ | 1188 | */ |
1189 | ieee80211_start_queues(rt2x00dev->hw); | 1189 | ieee80211_wake_queues(rt2x00dev->hw); |
1190 | 1190 | ||
1191 | /* | 1191 | /* |
1192 | * During interface iteration we might have changed the | 1192 | * During interface iteration we might have changed the |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 909956c97c44..f00fc76a7344 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1567,14 +1567,6 @@ void ieee80211_wake_queue(struct ieee80211_hw *hw, int queue); | |||
1567 | void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue); | 1567 | void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue); |
1568 | 1568 | ||
1569 | /** | 1569 | /** |
1570 | * ieee80211_start_queues - start all queues | ||
1571 | * @hw: pointer to as obtained from ieee80211_alloc_hw(). | ||
1572 | * | ||
1573 | * Drivers should use this function instead of netif_start_queue. | ||
1574 | */ | ||
1575 | void ieee80211_start_queues(struct ieee80211_hw *hw); | ||
1576 | |||
1577 | /** | ||
1578 | * ieee80211_stop_queues - stop all queues | 1570 | * ieee80211_stop_queues - stop all queues |
1579 | * @hw: pointer as obtained from ieee80211_alloc_hw(). | 1571 | * @hw: pointer as obtained from ieee80211_alloc_hw(). |
1580 | * | 1572 | * |
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index b0fddb7de549..9761d9bd5a79 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -110,7 +110,13 @@ static int ieee80211_master_open(struct net_device *dev) | |||
110 | break; | 110 | break; |
111 | } | 111 | } |
112 | } | 112 | } |
113 | return res; | 113 | |
114 | if (res) | ||
115 | return res; | ||
116 | |||
117 | netif_start_queue(local->mdev); | ||
118 | |||
119 | return 0; | ||
114 | } | 120 | } |
115 | 121 | ||
116 | static int ieee80211_master_stop(struct net_device *dev) | 122 | static int ieee80211_master_stop(struct net_device *dev) |
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 9cd07e1031af..800c15aff6e7 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -350,18 +350,6 @@ void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue) | |||
350 | } | 350 | } |
351 | EXPORT_SYMBOL(ieee80211_stop_queue); | 351 | EXPORT_SYMBOL(ieee80211_stop_queue); |
352 | 352 | ||
353 | void ieee80211_start_queues(struct ieee80211_hw *hw) | ||
354 | { | ||
355 | struct ieee80211_local *local = hw_to_local(hw); | ||
356 | int i; | ||
357 | |||
358 | for (i = 0; i < hw->queues + hw->ampdu_queues; i++) | ||
359 | clear_bit(IEEE80211_LINK_STATE_XOFF, &local->state[i]); | ||
360 | if (!ieee80211_qdisc_installed(local->mdev)) | ||
361 | netif_start_queue(local->mdev); | ||
362 | } | ||
363 | EXPORT_SYMBOL(ieee80211_start_queues); | ||
364 | |||
365 | void ieee80211_stop_queues(struct ieee80211_hw *hw) | 353 | void ieee80211_stop_queues(struct ieee80211_hw *hw) |
366 | { | 354 | { |
367 | int i; | 355 | int i; |