aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/pio.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-05-16 18:57:14 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-05-21 21:48:14 -0400
commite2530083609148a7835b54c431f6b8956407c1f6 (patch)
tree8ed43347541444c7a72d2c79f550f69a93cad591 /drivers/net/wireless/b43/pio.c
parenteefce91a384a64c7bbf913eb08c4adfb911c3639 (diff)
mac80211: use multi-queue master netdevice
This patch updates mac80211 and drivers to be multi-queue aware and use that instead of the internal queue mapping. Also does a number of cleanups in various pieces of the code that fall out and reduces internal mac80211 state size. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/pio.c')
-rw-r--r--drivers/net/wireless/b43/pio.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/b43/pio.c b/drivers/net/wireless/b43/pio.c
index 284786a94e7d..8b1555d95f1c 100644
--- a/drivers/net/wireless/b43/pio.c
+++ b/drivers/net/wireless/b43/pio.c
@@ -509,7 +509,7 @@ int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
509 hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_MOREDATA); 509 hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_MOREDATA);
510 } else { 510 } else {
511 /* Decide by priority where to put this frame. */ 511 /* Decide by priority where to put this frame. */
512 q = select_queue_by_priority(dev, info->queue); 512 q = select_queue_by_priority(dev, skb_get_queue_mapping(skb));
513 } 513 }
514 514
515 spin_lock_irqsave(&q->lock, flags); 515 spin_lock_irqsave(&q->lock, flags);
@@ -532,7 +532,7 @@ int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
532 if (total_len > (q->buffer_size - q->buffer_used)) { 532 if (total_len > (q->buffer_size - q->buffer_used)) {
533 /* Not enough memory on the queue. */ 533 /* Not enough memory on the queue. */
534 err = -EBUSY; 534 err = -EBUSY;
535 ieee80211_stop_queue(dev->wl->hw, info->queue); 535 ieee80211_stop_queue(dev->wl->hw, skb_get_queue_mapping(skb));
536 q->stopped = 1; 536 q->stopped = 1;
537 goto out_unlock; 537 goto out_unlock;
538 } 538 }
@@ -540,7 +540,7 @@ int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
540 /* Assign the queue number to the ring (if not already done before) 540 /* Assign the queue number to the ring (if not already done before)
541 * so TX status handling can use it. The mac80211-queue to b43-queue 541 * so TX status handling can use it. The mac80211-queue to b43-queue
542 * mapping is static, so we don't need to store it per frame. */ 542 * mapping is static, so we don't need to store it per frame. */
543 q->queue_prio = info->queue; 543 q->queue_prio = skb_get_queue_mapping(skb);
544 544
545 err = pio_tx_frame(q, skb); 545 err = pio_tx_frame(q, skb);
546 if (unlikely(err == -ENOKEY)) { 546 if (unlikely(err == -ENOKEY)) {
@@ -560,7 +560,7 @@ int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
560 if (((q->buffer_size - q->buffer_used) < roundup(2 + 2 + 6, 4)) || 560 if (((q->buffer_size - q->buffer_used) < roundup(2 + 2 + 6, 4)) ||
561 (q->free_packet_slots == 0)) { 561 (q->free_packet_slots == 0)) {
562 /* The queue is full. */ 562 /* The queue is full. */
563 ieee80211_stop_queue(dev->wl->hw, info->queue); 563 ieee80211_stop_queue(dev->wl->hw, skb_get_queue_mapping(skb));
564 q->stopped = 1; 564 q->stopped = 1;
565 } 565 }
566 566