mac80211: use offchannel queue only when supported
Commit 3a25a8c
("mac80211: add improved HW queue control")
added support for offchannel queue mapping. However, this
mapping is only valid when the driver supports
IEEE80211_HW_QUEUE_CONTROL.
Check whether the driver supports IEEE80211_HW_QUEUE_CONTROL
before setting the hw_queue to the mapped offchannel queue.
(This patch doesn't have any actual effect, because
hw_queue is overridden in ieee80211_tx() anyway,
so this is merely some cleanup)
Signed-off-by: Eliad Peller <eliad@wizery.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
72d7872852
commit
c53f7e150e
@ -2304,7 +2304,8 @@ static int ieee80211_mgmt_tx(struct wiphy *wiphy, struct net_device *dev,
|
||||
|
||||
IEEE80211_SKB_CB(skb)->flags = flags;
|
||||
|
||||
if (flags & IEEE80211_TX_CTL_TX_OFFCHAN)
|
||||
if (local->hw.flags & IEEE80211_HW_QUEUE_CONTROL &&
|
||||
flags & IEEE80211_TX_CTL_TX_OFFCHAN)
|
||||
IEEE80211_SKB_CB(skb)->hw_queue =
|
||||
local->hw.offchannel_tx_hw_queue;
|
||||
|
||||
@ -2349,8 +2350,9 @@ static int ieee80211_mgmt_tx(struct wiphy *wiphy, struct net_device *dev,
|
||||
/* modify cookie to prevent API mismatches */
|
||||
*cookie ^= 2;
|
||||
IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_CTL_TX_OFFCHAN;
|
||||
IEEE80211_SKB_CB(skb)->hw_queue =
|
||||
local->hw.offchannel_tx_hw_queue;
|
||||
if (local->hw.flags & IEEE80211_HW_QUEUE_CONTROL)
|
||||
IEEE80211_SKB_CB(skb)->hw_queue =
|
||||
local->hw.offchannel_tx_hw_queue;
|
||||
local->hw_roc_skb = skb;
|
||||
local->hw_roc_skb_for_status = skb;
|
||||
mutex_unlock(&local->mtx);
|
||||
|
Loading…
Reference in New Issue
Block a user