]> git.baikalelectronics.ru Git - kernel.git/commit
staging: rtl8723bs: fix wireless regulatory API misuse
authorJohannes Berg <johannes.berg@intel.com>
Tue, 26 Jan 2021 10:54:09 +0000 (11:54 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 26 Jan 2021 11:21:42 +0000 (12:21 +0100)
commit73c6fe37ed094d4cbe2bf5e48f244b180202f1b0
tree11d3dca9d472cd0e21b535a1d148330530c96cff
parent836766032506f6813efd33476d15c7acd45bcab7
staging: rtl8723bs: fix wireless regulatory API misuse

This code ends up calling wiphy_apply_custom_regulatory(), for which
we document that it should be called before wiphy_register(). This
driver doesn't do that, but calls it from ndo_open() with the RTNL
held, which caused deadlocks.

Since the driver just registers static regdomain data and then the
notifier applies the channel changes if any, there's no reason for
it to call this in ndo_open(), move it earlier to fix the deadlock.

Reported-and-tested-by: Hans de Goede <hdegoede@redhat.com>
Fixes: 07585b9507bc ("cfg80211: Save the regulatory domain with a lock")
Link: https://lore.kernel.org/r/20210126115409.d5fd6f8fe042.Ib5823a6feb2e2aa01ca1a565d2505367f38ad246@changeid
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/staging/rtl8723bs/include/rtw_wifi_regd.h
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
drivers/staging/rtl8723bs/os_dep/wifi_regd.c