staging: r8188eu: fix scheduling while atomic bugs
PATCH 1/1 staging: r8188eu: fix scheduling while atomic bugs
These allocations are sometimes done under a spin lock so they have to be atomic. The function call tree is:
-> update_beacon() <- takes a spin lock
-> update_BCNTIM()
-> set_tx_beacon_cmd()
Signed-off-by Michael Straube <[email protected]>
--- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/staging/r8188eu/core/rtw_mlme_ext.c +2 -2
@@ -8129,13 +8129,13 @@ u8 set_tx_beacon_cmd(struct adapter *padapter)u8 res = _SUCCESS;int len_diff =0 ; - ph2c =kzalloc (sizeof (struct cmd_obj ),GFP_KERNEL ); + ph2c =kzalloc (sizeof (struct cmd_obj ),GFP_ATOMIC );if (!ph2c) { res = _FAIL; goto exit; } - ptxBeacon_parm =kzalloc (sizeof (struct Tx_Beacon_param ),GFP_KERNEL ); + ptxBeacon_parm =kzalloc (sizeof (struct Tx_Beacon_param ),GFP_ATOMIC );if (!ptxBeacon_parm) {kfree (ph2c); res = _FAIL;
Signature · 1 line
2.32.0