mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-23 07:23:12 +02:00
wifi: wfx: Fix error handling in wfx_core_init()
The wfx_core_init() returns without checking the retval from
sdio_register_driver().
If the sdio_register_driver() failed, the module failed to install,
leaving the wfx_spi_driver not unregistered.
Fixes: a7a91ca5a2
("staging: wfx: add infrastructure for new driver")
Signed-off-by: Yuan Can <yuancan@huawei.com>
Reviewed-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20241022090453.84679-1-yuancan@huawei.com
This commit is contained in:
parent
3c1f19ab3d
commit
3b88a98767
|
@ -480,10 +480,23 @@ static int __init wfx_core_init(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_SPI))
|
if (IS_ENABLED(CONFIG_SPI)) {
|
||||||
ret = spi_register_driver(&wfx_spi_driver);
|
ret = spi_register_driver(&wfx_spi_driver);
|
||||||
if (IS_ENABLED(CONFIG_MMC) && !ret)
|
if (ret)
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (IS_ENABLED(CONFIG_MMC)) {
|
||||||
ret = sdio_register_driver(&wfx_sdio_driver);
|
ret = sdio_register_driver(&wfx_sdio_driver);
|
||||||
|
if (ret)
|
||||||
|
goto unregister_spi;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
unregister_spi:
|
||||||
|
if (IS_ENABLED(CONFIG_SPI))
|
||||||
|
spi_unregister_driver(&wfx_spi_driver);
|
||||||
|
out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
module_init(wfx_core_init);
|
module_init(wfx_core_init);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user