linux_dsm_epyc7002/drivers/net/wireless
Johannes Berg 32026e8f70 iwlwifi: mvm: fix mac80211's hw_queue in DQA mode
When in non-DQA mode, mac80211 actually gets a pretty much perfect
idea (in vif->hw_queue/cab_queue) of which queues we're using. But
in DQA mode, this isn't true - nonetheless, we were adding all the
queues, even the ones stations are using, to the queue allocation
bitmap.

Fix this, we should only add the queues we really are using in DQA
mode:
 * IWL_MVM_OFFCHANNEL_QUEUE, as we use this in both modes
 * mvm->aux_queue, as we use this in both modes - mac80211
   never really knows about it but we use it as a cookie
   internally, so can't reuse it
 * possibly the GCAST queue (cab_queue)
 * all the "queues" we told mac80211 about we were using on each
   interface (vif->hw_queue), these are entirely virtual in this
   mode

Also add back the failure now when we can't allocate any more of
these - now virtual - queues; this was skipped in DQA mode and
would lead to having multiple ACs or even interfaces use the same
queue number in mac80211 (10, since that's the limit), which would
stop far too many queues if stopped.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-06-29 20:39:01 +03:00
..
admtek networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
ath ath9k: remove useless variable assignment in ath_mci_intr() 2017-06-28 19:56:36 +03:00
atmel networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
broadcom brcmfmac: rework headroom check in .start_xmit() 2017-06-28 20:53:06 +03:00
cisco networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
intel iwlwifi: mvm: fix mac80211's hw_queue in DQA mode 2017-06-29 20:39:01 +03:00
intersil networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
marvell mwifiex: fix spelling mistake: "secuirty" -> "security" 2017-06-28 22:06:50 +03:00
mediatek networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
quantenna qtnfmac: fix uninitialized return code in ret 2017-06-28 20:50:12 +03:00
ralink networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
realtek rtlwifi: Add in_4way field for btcoexist 2017-06-28 20:51:01 +03:00
rsi rsi: add in missing RSI_FSM_STATES into array fsm_state 2017-06-28 20:54:14 +03:00
st cw1200: add const to hwbus_ops structures 2017-06-28 21:17:46 +03:00
ti wl18xx: add checks on wl18xx_top_reg_write() return value 2017-06-28 21:18:40 +03:00
zydas networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
Kconfig qtnfmac: introduce new FullMAC driver for Quantenna chipsets 2017-05-24 17:04:13 +03:00
mac80211_hwsim.c networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
mac80211_hwsim.h mac80211_hwsim: fix command documentation indentation 2017-03-06 09:21:48 +01:00
Makefile qtnfmac: introduce new FullMAC driver for Quantenna chipsets 2017-05-24 17:04:13 +03:00
ray_cs.c ray_cs: Avoid reading past end of buffer 2017-05-22 18:27:22 +03:00
ray_cs.h
rayctl.h
rndis_wlan.c Another set of patches for -next: 2017-04-28 14:41:15 -04:00
wl3501_cs.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
wl3501.h