aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-07-08 20:18:23 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-08 20:18:23 -0400
commitdc2b48475a0a36f8b3bbb2da60d3a006dc5c2c84 (patch)
treeb2421a338840bd1c675f4f91de7c7cf03863fb78 /net/mac80211
parent5ce2d488fe039ddd86a638496cf704df86c74eeb (diff)
netdev: Move queue_lock into struct netdev_queue.
The lock is now an attribute of the device queue. One thing to notice is that "suspicious" places emerge which will need specific training about multiple queue handling. They are so marked with explicit "netdev->rx_queue" and "netdev->tx_queue" references. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/main.c10
-rw-r--r--net/mac80211/wme.c2
2 files changed, 6 insertions, 6 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index cf477ad39dac..12aeaf78ae75 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -636,7 +636,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_hw *hw, u8 *ra, u16 tid)
636 636
637 /* ensure that TX flow won't interrupt us 637 /* ensure that TX flow won't interrupt us
638 * until the end of the call to requeue function */ 638 * until the end of the call to requeue function */
639 spin_lock_bh(&local->mdev->queue_lock); 639 spin_lock_bh(&local->mdev->tx_queue.lock);
640 640
641 /* create a new queue for this aggregation */ 641 /* create a new queue for this aggregation */
642 ret = ieee80211_ht_agg_queue_add(local, sta, tid); 642 ret = ieee80211_ht_agg_queue_add(local, sta, tid);
@@ -675,7 +675,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_hw *hw, u8 *ra, u16 tid)
675 675
676 /* Will put all the packets in the new SW queue */ 676 /* Will put all the packets in the new SW queue */
677 ieee80211_requeue(local, ieee802_1d_to_ac[tid]); 677 ieee80211_requeue(local, ieee802_1d_to_ac[tid]);
678 spin_unlock_bh(&local->mdev->queue_lock); 678 spin_unlock_bh(&local->mdev->tx_queue.lock);
679 spin_unlock_bh(&sta->lock); 679 spin_unlock_bh(&sta->lock);
680 680
681 /* send an addBA request */ 681 /* send an addBA request */
@@ -701,7 +701,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_hw *hw, u8 *ra, u16 tid)
701err_unlock_queue: 701err_unlock_queue:
702 kfree(sta->ampdu_mlme.tid_tx[tid]); 702 kfree(sta->ampdu_mlme.tid_tx[tid]);
703 sta->ampdu_mlme.tid_tx[tid] = NULL; 703 sta->ampdu_mlme.tid_tx[tid] = NULL;
704 spin_unlock_bh(&local->mdev->queue_lock); 704 spin_unlock_bh(&local->mdev->tx_queue.lock);
705 ret = -EBUSY; 705 ret = -EBUSY;
706err_unlock_sta: 706err_unlock_sta:
707 spin_unlock_bh(&sta->lock); 707 spin_unlock_bh(&sta->lock);
@@ -875,10 +875,10 @@ void ieee80211_stop_tx_ba_cb(struct ieee80211_hw *hw, u8 *ra, u8 tid)
875 875
876 /* avoid ordering issues: we are the only one that can modify 876 /* avoid ordering issues: we are the only one that can modify
877 * the content of the qdiscs */ 877 * the content of the qdiscs */
878 spin_lock_bh(&local->mdev->queue_lock); 878 spin_lock_bh(&local->mdev->tx_queue.lock);
879 /* remove the queue for this aggregation */ 879 /* remove the queue for this aggregation */
880 ieee80211_ht_agg_queue_remove(local, sta, tid, 1); 880 ieee80211_ht_agg_queue_remove(local, sta, tid, 1);
881 spin_unlock_bh(&local->mdev->queue_lock); 881 spin_unlock_bh(&local->mdev->tx_queue.lock);
882 882
883 /* we just requeued the all the frames that were in the removed 883 /* we just requeued the all the frames that were in the removed
884 * queue, and since we might miss a softirq we do netif_schedule. 884 * queue, and since we might miss a softirq we do netif_schedule.
diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
index 2fbc171130bf..59ed9cae66b9 100644
--- a/net/mac80211/wme.c
+++ b/net/mac80211/wme.c
@@ -648,7 +648,7 @@ int ieee80211_ht_agg_queue_add(struct ieee80211_local *local,
648} 648}
649 649
650/** 650/**
651 * the caller needs to hold local->mdev->queue_lock 651 * the caller needs to hold local->mdev->tx_queue.lock
652 */ 652 */
653void ieee80211_ht_agg_queue_remove(struct ieee80211_local *local, 653void ieee80211_ht_agg_queue_remove(struct ieee80211_local *local,
654 struct sta_info *sta, u16 tid, 654 struct sta_info *sta, u16 tid,