staging: wfx: fix double free
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Tue, 5 May 2020 12:37:45 +0000 (14:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 May 2020 11:26:39 +0000 (13:26 +0200)
In case of error in wfx_probe(), wdev->hw is freed. Since an error
occurred, wfx_free_common() is called, then wdev->hw is freed again.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Reviewed-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Fixes: 4033714d6cbe ("staging: wfx: fix init/remove vs IRQ race")
Link: https://lore.kernel.org/r/20200505123757.39506-4-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/main.c

index ba2e3a6..5d0754b 100644 (file)
@@ -469,7 +469,6 @@ int wfx_probe(struct wfx_dev *wdev)
 
 err2:
        ieee80211_unregister_hw(wdev->hw);
-       ieee80211_free_hw(wdev->hw);
 err1:
        wfx_bh_unregister(wdev);
        return err;