OpenCloudOS-Kernel/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 staging: Replace HTTP links with HTTPS ones 2020-07-20 10:22:47 +02:00
comedi Staging: comedi: Return -EFAULT if copy_to_user() fails 2020-12-28 15:14:53 +01:00
emxx_udc staging/emxx_udc: fix indenting issue on a couple of statements 2020-09-22 09:49:32 +02:00
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 staging: fwserial: Remove repeated word and 2020-09-13 09:20:12 +02:00
gasket staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c 2020-11-13 15:35:14 +01:00
gdm724x staging: gdm724x: Clarify naming of packet_type<->tty index symbols 2020-10-26 06:53:10 +01:00
greybus staging: greybus: Add TODO item about modernizing the pwm code 2020-12-09 15:49:04 +01:00
gs_fpgaboot staging: Replace HTTP links with HTTPS ones 2020-07-20 10:22:47 +02:00
hikey9xx staging: spmi: hisi-spmi-controller: Fix some error handling paths 2020-12-28 15:14:53 +01:00
iio staging: iio: adis16240: add blank line before struct definition 2020-10-26 06:53:09 +01:00
kpc2000 staging: kpc2000: kpc_dma: rename show function per convention 2020-10-27 12:23:59 +01:00
ks7010 staging: ks7010: fix missing destroy_workqueue() on error in ks7010_sdio_probe 2020-11-06 11:02:53 +01:00
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 staging: netlogic: clear alignment style issues 2020-08-02 12:47:37 +02:00
nvec Staging: nvec: Removes repeated word typo in comment 2020-10-01 10:55:17 +02:00
octeon staging: octeon: Drop on uncorrectable alignment or FCS error 2020-10-27 13:18:50 +01:00
octeon-usb drivers: staging: octeon-usb: fixed codestyle check warning 2020-09-13 09:21:15 +02:00
olpc_dcon staging: olpc_dcon: Do not call platform_device_unregister() in dcon_probe() 2020-12-09 19:45:13 +01:00
pi433 staging: pi433: break long lines 2020-09-04 15:39:07 +02:00
qlge staging: qlge: remove duplicate word in comment 2020-12-09 15:49:18 +01:00
ralink-gdma staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK 2020-11-06 11:12:49 +01:00
rtl8188eu staging: rtl8188eu: clean up the useless code 2020-11-23 17:59:52 +01:00
rtl8192e staging: rtl8192e: Braces should be used on all arms of statement 2020-11-13 15:34:07 +01:00
rtl8192u staging: rtl8192u: fix wrong judgement in rtl8192_rx_isr 2020-11-06 11:02:53 +01:00
rtl8712 staging: rtl8712: Fix enqueue_reorder_recvframe() 2020-10-01 10:55:17 +02:00
rtl8723bs staging: rtl8723bs: Move wiphy setup to after reading the regulatory settings from the chip 2021-02-01 19:26:10 +01:00
rts5208 staging: rts5208: rtsx_transport.c: Fix lines ending with parentheses 2020-09-13 09:20:31 +02:00
sm750fb Staging: sm750fb: Fix basic coding style issues 2020-08-28 12:19:15 +02:00
unisys staging: unisys: visorhba: remove redundant initialization of variables scsicmd_id and rc 2020-07-23 20:34:34 +02:00
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 staging/wlan-ng: Fix line alignment 2020-11-06 10:57:46 +01:00
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