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>
This commit is contained in:
committed by
John W. Linville
parent
eefce91a38
commit
e253008360
@@ -246,7 +246,7 @@ static int rtl8180_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
|
||||
u16 plcp_len = 0;
|
||||
__le16 rts_duration = 0;
|
||||
|
||||
prio = info->queue;
|
||||
prio = skb_get_queue_mapping(skb);
|
||||
ring = &priv->tx_ring[prio];
|
||||
|
||||
mapping = pci_map_single(priv->pdev, skb->data,
|
||||
@@ -298,7 +298,7 @@ static int rtl8180_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
|
||||
entry->flags = cpu_to_le32(tx_flags);
|
||||
__skb_queue_tail(&ring->queue, skb);
|
||||
if (ring->entries - skb_queue_len(&ring->queue) < 2)
|
||||
ieee80211_stop_queue(dev, info->queue);
|
||||
ieee80211_stop_queue(dev, skb_get_queue_mapping(skb));
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
|
||||
rtl818x_iowrite8(priv, &priv->map->TX_DMA_POLLING, (1 << (prio + 4)));
|
||||
|
||||
Reference in New Issue
Block a user