]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/staging/media/mn88472/mn88472.c
Merge remote-tracking branch 'staging/staging-next'
[karo-tx-linux.git] / drivers / staging / media / mn88472 / mn88472.c
index 2a68582e7f71abc9d5c658147e1add98925d1384..44693c365a8d603d950189559ec15a2a6d496db3 100644 (file)
@@ -270,7 +270,7 @@ static int mn88472_init(struct dvb_frontend *fe)
 
        ret = regmap_write(dev->regmap[0], 0xf5, 0x03);
        if (ret)
-               goto err;
+               goto firmware_release;
 
        for (remaining = fw->size; remaining > 0;
                        remaining -= (dev->i2c_wr_max - 1)) {
@@ -283,13 +283,13 @@ static int mn88472_init(struct dvb_frontend *fe)
                if (ret) {
                        dev_err(&client->dev,
                                        "firmware download failed=%d\n", ret);
-                       goto err;
+                       goto firmware_release;
                }
        }
 
        ret = regmap_write(dev->regmap[0], 0xf5, 0x00);
        if (ret)
-               goto err;
+               goto firmware_release;
 
        release_firmware(fw);
        fw = NULL;
@@ -298,10 +298,9 @@ static int mn88472_init(struct dvb_frontend *fe)
        dev->warm = true;
 
        return 0;
+firmware_release:
+       release_firmware(fw);
 err:
-       if (fw)
-               release_firmware(fw);
-
        dev_dbg(&client->dev, "failed=%d\n", ret);
        return ret;
 }