staging: r8188eu: scheduling in atomic in rtw_createbss_cmd()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 12 Aug 2021 06:58:52 +0000 (09:58 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Aug 2021 08:28:29 +0000 (10:28 +0200)
A couple of the callers are holding spinlocks so this allocation has to
be atomic.  One spinlock is in rtw_set_802_11_connect() but the simpler
spinlock to review is when this function is called from
rtw_surveydone_event_callback().

Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20210812065852.GB31863@kili
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_cmd.c

index df83f4fb7fd0a87e5219caf1c0b32bc6d26faba8..e95cb27516b0cdd8571116971555980f4aa67e37 100644 (file)
@@ -729,7 +729,7 @@ u8 rtw_createbss_cmd(struct adapter  *padapter)
 
        rtw_led_control(padapter, LED_CTL_START_TO_LINK);
 
-       pcmd = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
+       pcmd = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
        if (!pcmd) {
                res = _FAIL;
                goto exit;