From: Javier Martinez Canillas Date: Fri, 27 May 2016 14:18:17 +0000 (-0400) Subject: mwifiex: propagate mwifiex_add_card() errno code in mwifiex_sdio_probe() X-Git-Tag: v4.8-rc1~140^2~279^2~24 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=032e0f546c7e36217ebcae33f82d390c272d00ea;p=platform%2Fkernel%2Flinux-exynos.git 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 Reviewed-by: Julian Calaby Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c index 138dc1f..b248d10 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;