staging: wfx: fix RCU usage between hif_join() and ieee80211_bss_get_ie()
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Tue, 10 Mar 2020 10:13:56 +0000 (11:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Mar 2020 07:14:16 +0000 (08:14 +0100)
commitac42c12dd752d315a7027dcb50421dbbd1af53bd
treef9fd44d2a782da34b09f1416e91b1dba1a674a0a
parent046cc2effd1312a23b9e3d8363be7c68f6e91f3c
staging: wfx: fix RCU usage between hif_join() and ieee80211_bss_get_ie()

Access to result of ieee80211_bss_get_ie() is protected by RCU. In other
hand, function hif_join() can sleep and cannot be called with RCU
locked.

Provide a copy of "ssidie" to hif_join() to solve this behavior.

Fixes: 9ced9b593741 ("staging: wfx: simplify hif_join()")
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200310101356.182818-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/hif_tx.c
drivers/staging/wfx/hif_tx.h
drivers/staging/wfx/sta.c