diff options
author | Javier Martinez Canillas <javier@osg.samsung.com> | 2016-05-27 16:18:17 +0200 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2016-06-16 17:05:06 +0200 |
commit | 032e0f546c7e36217ebcae33f82d390c272d00ea (patch) | |
tree | bc96d328cf621db17405aec2254a19d0b5608095 /drivers/net/wireless/marvell/mwifiex | |
parent | mwifiex: propagate sdio_enable_func() errno code in mwifiex_sdio_probe() (diff) | |
download | linux-032e0f546c7e36217ebcae33f82d390c272d00ea.tar.xz linux-032e0f546c7e36217ebcae33f82d390c272d00ea.zip |
mwifiex: propagate mwifiex_add_card() errno code in mwifiex_sdio_probe()
There's only a check if mwifiex_add_card() returned a nonzero value, but
the actual error code is neither stored nor propagated to the caller. So
instead of always returning -1 (which is -EPERM and not a suitable errno
code in this case), propagate the value returned by mwifiex_add_card().
Patch also removes the assignment of sdio_disable_func() returned value
since it was overwritten anyways and what matters is to know the error
value returned by the first function that failed.
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/marvell/mwifiex')
-rw-r--r-- | drivers/net/wireless/marvell/mwifiex/sdio.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c index 138dc1fcd3a9..b248d10f09df 100644 --- a/drivers/net/wireless/marvell/mwifiex/sdio.c +++ b/drivers/net/wireless/marvell/mwifiex/sdio.c @@ -191,14 +191,14 @@ mwifiex_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id) if (func->dev.of_node) mwifiex_sdio_probe_of(&func->dev, card); - if (mwifiex_add_card(card, &add_remove_card_sem, &sdio_ops, - MWIFIEX_SDIO)) { + ret = mwifiex_add_card(card, &add_remove_card_sem, &sdio_ops, + MWIFIEX_SDIO); + if (ret) { pr_err("%s: add card failed\n", __func__); kfree(card); sdio_claim_host(func); - ret = sdio_disable_func(func); + sdio_disable_func(func); sdio_release_host(func); - ret = -1; } return ret; |