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>
This commit is contained in:

committed by
Kalle Valo

parent
cc524d1706
commit
032e0f546c
@@ -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;
|
||||
|
Reference in New Issue
Block a user