summaryrefslogtreecommitdiffstats
path: root/drivers/staging/ks7010/ks7010_sdio.c
diff options
context:
space:
mode:
authorSergio Paracuellos <sergio.paracuellos@gmail.com>2018-04-03 17:13:00 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-04-23 14:22:07 +0200
commit6e043704fb99e3e1d7a1bb02030e49c093cdd943 (patch)
treecb233215cee82bca3de80957bb1544a2b29c7827 /drivers/staging/ks7010/ks7010_sdio.c
parent6e6156f614da0df8078a8f453c8a2e23cbb9338f (diff)
downloadop-kernel-dev-6e043704fb99e3e1d7a1bb02030e49c093cdd943.zip
op-kernel-dev-6e043704fb99e3e1d7a1bb02030e49c093cdd943.tar.gz
staging: ks7010: fix error handling in ks7010_upload_firmware
This commit checks missing error code check when checking if the firmware is running reading General Communication Register A (GCR_A). It also set ret to EBUSY if firmware is running before copying it. Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> 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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/ks7010/ks7010_sdio.c b/drivers/staging/ks7010/ks7010_sdio.c
index 9907c0c..4d794ac 100644
--- a/drivers/staging/ks7010/ks7010_sdio.c
+++ b/drivers/staging/ks7010/ks7010_sdio.c
@@ -657,8 +657,11 @@ static int ks7010_upload_firmware(struct ks_sdio_card *card)
/* Firmware running ? */
ret = ks7010_sdio_readb(priv, GCR_A, &byte);
+ if (ret)
+ goto release_host_and_free;
if (byte == GCR_A_RUN) {
netdev_dbg(priv->net_dev, "MAC firmware running ...\n");
+ ret = -EBUSY;
goto release_host_and_free;
}
OpenPOWER on IntegriCloud