staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
authorQiujun Huang <hqjagain@gmail.com>
Wed, 25 Mar 2020 07:06:46 +0000 (15:06 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Apr 2020 09:02:17 +0000 (11:02 +0200)
commit a1f165a6b738f0c9d744bad4af7a53909278f5fc upstream.

We should cancel hw->usb_work before kfree(hw).

Reported-by: syzbot+6d2e7f6fa90e27be9d62@syzkaller.appspotmail.com
Signed-off-by: Qiujun Huang <hqjagain@gmail.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/1585120006-30042-1-git-send-email-hqjagain@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wlan-ng/prism2usb.c

index b5ba176004c1f88aa1e0cfc5f127bc3fa06586b8..d8d86761b790ae07744525e279c09084a2e85b3a 100644 (file)
@@ -180,6 +180,7 @@ static void prism2sta_disconnect_usb(struct usb_interface *interface)
 
                cancel_work_sync(&hw->link_bh);
                cancel_work_sync(&hw->commsqual_bh);
+               cancel_work_sync(&hw->usb_work);
 
                /* Now we complete any outstanding commands
                 * and tell everyone who is waiting for their