diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-08 20:18:23 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-08 20:18:23 -0400 |
commit | dc2b48475a0a36f8b3bbb2da60d3a006dc5c2c84 (patch) | |
tree | b2421a338840bd1c675f4f91de7c7cf03863fb78 /net/mac80211/main.c | |
parent | 5ce2d488fe039ddd86a638496cf704df86c74eeb (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/main.c')
-rw-r--r-- | net/mac80211/main.c | 10 |
1 files changed, 5 insertions, 5 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) | |||
701 | err_unlock_queue: | 701 | err_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; |
706 | err_unlock_sta: | 706 | err_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. |