linux-stable/drivers/net/wireless
Jonas Dreßler fae2aac8c7 mwifiex: Update virtual interface counters right after setting bss_type
In mwifiex_init_new_priv_params() we update our private driver state to
reflect the currently selected virtual interface type. Most notably we
set the bss_mode to the mode we're going to put the firmware in.

Now after we updated the driver state we actually start talking to the
firmware and instruct it to set up the new mode. Those commands can and
will sometimes fail, in which case we return with an error from
mwifiex_change_vif_to_*. We currently update our virtual interface type
counters after this return, which means the code is never reached when a
firmware error happens and we never update the counters. Since we have
updated our bss_mode earlier though, the counters now no longer reflect
the actual state of the driver.

This will break things on the next virtual interface change, because the
virtual interface type we're switching away from didn't get its counter
incremented, and we end up decrementing a 0-counter.

To fix this, simply update the virtual interface type counters right
after updating our driver structures, so that they are always in sync.

Signed-off-by: Jonas Dreßler <verdre@v0yd.nl>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210914195909.36035-6-verdre@v0yd.nl
2021-09-21 18:02:17 +03:00
..
admtek module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
ath ARM: SoC drivers for 5.15 2021-09-01 15:25:28 -07:00
atmel module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
broadcom brcmfmac: fix incorrect error prints 2021-09-21 08:56:58 +03:00
cisco airo: use ndo_siocdevprivate 2021-07-27 20:11:44 +01:00
intel Networking stragglers and fixes for 5.15-rc1, including changes from netfilter, 2021-09-07 14:02:58 -07:00
intersil Kbuild updates for v5.15 2021-09-03 15:33:47 -07:00
marvell mwifiex: Update virtual interface counters right after setting bss_type 2021-09-21 18:02:17 +03:00
mediatek wireless-drivers fixes for v5.14 2021-08-17 15:08:14 -07:00
microchip wilc1000: Convert module-global "isinit" to device-specific variable 2021-08-29 11:33:36 +03:00
quantenna qtnfmac: switch from 'pci_' to 'dma_' API 2021-08-23 11:56:57 +01:00
ralink rt2x00: do not set timestamp for injected frames 2021-06-15 16:36:20 +03:00
realtek rtw88: move adaptivity mechanism to firmware 2021-09-21 17:51:57 +03:00
rsi rsi: fix rate mask set leading to P2P failure 2021-09-21 08:42:37 +03:00
st cw1200: Revert unnecessary patches that fix unreal use-after-free bugs 2021-06-15 16:41:22 +03:00
ti Driver core changes for 5.14-rc1 2021-07-05 13:51:41 -07:00
zydas zd1211rw: Prefer pr_err over printk error msg 2021-06-15 16:37:01 +03:00
Kconfig
mac80211_hwsim.c mac80211_hwsim: record stats in non-netlink path 2021-06-23 11:29:13 +02:00
mac80211_hwsim.h
Makefile
ray_cs.c ray_cs: Split memcpy() to avoid bounds check warning 2021-08-21 20:15:36 +03:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: simplify is_associated() 2021-06-15 16:34:19 +03:00
virt_wifi.c virt_wifi: fix error on connect 2021-07-23 10:34:31 +02:00
wl3501.h wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join 2021-04-22 17:38:41 +03:00
wl3501_cs.c wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join 2021-04-22 17:38:41 +03:00