brcmfmac: Fix a double-free in brcmf_sdio_bus_reset
[ Upstream commit 7ea7a1e05c7ff5ffc9f9ec1f0849f6ceb7fcd57c ]
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: 7836102a75
("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
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
5b8d0b0727
commit
5d452eafbd
@@ -4157,7 +4157,6 @@ static int brcmf_sdio_bus_reset(struct device *dev)
|
|||||||
if (ret) {
|
if (ret) {
|
||||||
brcmf_err("Failed to probe after sdio device reset: ret %d\n",
|
brcmf_err("Failed to probe after sdio device reset: ret %d\n",
|
||||||
ret);
|
ret);
|
||||||
brcmf_sdiod_remove(sdiodev);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user