summaryrefslogtreecommitdiffstats
path: root/drivers/staging/ks7010/ks7010_sdio.c
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2016-09-04 20:30:18 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-09-12 11:01:52 +0200
commit369e1b69c1a2ed9fb66cfd2a6fe2f7340c64cd49 (patch)
tree4d7510c2c8b2ef9f36d1ebc9bdaaa9cb770f2e7e /drivers/staging/ks7010/ks7010_sdio.c
parent98a3c4d7ae9ad0ca8a8edbed5f37e559673aa3ac (diff)
downloadop-kernel-dev-369e1b69c1a2ed9fb66cfd2a6fe2f7340c64cd49.zip
op-kernel-dev-369e1b69c1a2ed9fb66cfd2a6fe2f7340c64cd49.tar.gz
staging: ks7010: return on failure
On failure we were jumping to error_out0 where we were trying sdio_release_host() but at this point of execution we still have not done sdio_claim_host() and as a result host->claimed can still be 0. And if host->claimed is 0 then WARN_ON(!host->claimed) will give a warning. Moreover, if it is still not claimed then mmc_host->claim_cnt will be 0 and mmc_release_host() will do "if (--host->claim_cnt)" and thus the condition will become true. Lets just return the value on allocation failure instead of trying to release the host before claiming it. Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/ks7010/ks7010_sdio.c')
-rw-r--r--drivers/staging/ks7010/ks7010_sdio.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/staging/ks7010/ks7010_sdio.c b/drivers/staging/ks7010/ks7010_sdio.c
index 47b69cb..7bcf1ea 100644
--- a/drivers/staging/ks7010/ks7010_sdio.c
+++ b/drivers/staging/ks7010/ks7010_sdio.c
@@ -776,10 +776,8 @@ static int ks7010_upload_firmware(struct ks_wlan_private *priv,
/* buffer allocate */
rom_buf = kmalloc(ROM_BUFF_SIZE, GFP_KERNEL);
- if (!rom_buf) {
- rc = 3;
- goto error_out0;
- }
+ if (!rom_buf)
+ return 3;
sdio_claim_host(card->func);
OpenPOWER on IntegriCloud