linux/drivers/staging
Hans de Goede 50af06d43e staging: rtl8723bs: Move wiphy setup to after reading the regulatory settings from the chip
Commit 81f153faac ("staging: rtl8723bs: fix wireless regulatory API
misuse") moved the wiphy_apply_custom_regulatory() call to earlier in the
driver's init-sequence, so that it gets called before wiphy_register().

But at this point in time the eFuses which code the regulatory-settings
for the chip have not been read by the driver yet, causing
_rtw_reg_apply_flags() to set the IEEE80211_CHAN_DISABLED flag on *all*
channels.

On the device where I initially tested the fix, a Jumper EZpad 7 tablet,
this does not cause any problems because shortly after init the
rtw_reg_notifier() gets called fixing things up. I guess this happens
into response to receiving a (broadcast) packet with regulatory info
from the access-point ?

But on another device with a RTL8723BS wifi chip, an Acer Switch 10E
(SW3-016), the rtw_reg_notifier() never gets called. I assume that some
fuse has been set on this device to ignore regulatory info received from
access-points.

This means that on the Acer the driver is stuck in a state with all
channels disabled, leading to non working Wifi.

We cannot move the wiphy_apply_custom_regulatory() call back, because
that call must be made before the wiphy_register() call.

Instead move the entire rtw_wdev_alloc() call to after the Efuses have
been read, fixing all channels being disabled in the initial channel-map.

Fixes: 81f153faac ("staging: rtl8723bs: fix wireless regulatory API misuse")
Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20210201152956.370186-2-hdegoede@redhat.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2021-02-01 19:26:10 +01:00
..
android UAPI Changes: 2020-12-18 12:38:28 -08:00
axis-fifo
board
clocking-wizard
comedi Staging: comedi: Return -EFAULT if copy_to_user() fails 2020-12-28 15:14:53 +01:00
emxx_udc
fbtft
fieldbus staging: fieldbus: use kobj_to_dev() to get device 2020-11-23 17:59:51 +01:00
fsl-dpaa2 Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00
fwserial
gasket
gdm724x
greybus staging: greybus: Add TODO item about modernizing the pwm code 2020-12-09 15:49:04 +01:00
gs_fpgaboot
hikey9xx staging: spmi: hisi-spmi-controller: Fix some error handling paths 2020-12-28 15:14:53 +01:00
iio
kpc2000
ks7010
media media fixes for v5.11-rc6 2021-01-28 09:18:05 -08:00
most staging: most: Fix spelling mistake "tranceiver" -> "transceiver" 2020-12-09 19:45:13 +01:00
mt7621-dma staging: mt7621-dma: Fix a resource leak in an error handling path 2020-12-28 15:14:53 +01:00
mt7621-dts staging: mt7621-pinctrl: stop using the deprecated 'pinctrl_add_gpio_range' 2020-12-07 15:10:16 +01:00
mt7621-pci staging: mt7621-pci: remove 'RALINK_PCI_IMBASEBAR0_ADDR' register 2020-11-26 09:12:18 +01:00
netlogic
nvec
octeon
octeon-usb
olpc_dcon staging: olpc_dcon: Do not call platform_device_unregister() in dcon_probe() 2020-12-09 19:45:13 +01:00
pi433
qlge staging: qlge: remove duplicate word in comment 2020-12-09 15:49:18 +01:00
ralink-gdma
rtl8188eu staging: rtl8188eu: clean up the useless code 2020-11-23 17:59:52 +01:00
rtl8192e
rtl8192u
rtl8712
rtl8723bs staging: rtl8723bs: Move wiphy setup to after reading the regulatory settings from the chip 2021-02-01 19:26:10 +01:00
rts5208
sm750fb
unisys
vc04_services staging: bcm2835: fix vchiq_mmal dependencies 2020-12-07 15:07:24 +01:00
vme
vt6655 staging: vt6655: Fix fall-through warnings for Clang 2020-11-23 17:55:23 +01:00
vt6656 staging: vt6656: Fix fall-through warnings for Clang 2020-11-23 17:55:23 +01:00
wfx Linux 5.10-rc5 2020-11-23 08:21:37 +01:00
wimax Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00
wlan-ng
Kconfig Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00
Makefile Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00