OSDN Git Service

brcmfmac: Fix a double-free in brcmf_sdio_bus_reset
authorTong Tiangen <tongtiangen@huawei.com>
Tue, 1 Jun 2021 10:01:28 +0000 (18:01 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 15 Jun 2021 10:37:31 +0000 (13:37 +0300)
brcmf_sdiod_remove has been called inside brcmf_sdiod_probe when fails,
so there's no need to call another one. Otherwise, sdiodev->freezer
would be double freed.

Fixes: 7836102a750a ("brcmfmac: reset SDIO bus on a firmware crash")
Signed-off-by: Tong Tiangen <tongtiangen@huawei.com>
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210601100128.69561-1-tongtiangen@huawei.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c

index d1dda85..27eb83e 100644 (file)
@@ -4162,7 +4162,6 @@ static int brcmf_sdio_bus_reset(struct device *dev)
        if (ret) {
                brcmf_err("Failed to probe after sdio device reset: ret %d\n",
                          ret);
-               brcmf_sdiod_remove(sdiodev);
        }
 
        return ret;