summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/alps_tdlb7.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/dvb/frontends/alps_tdlb7.c')
-rw-r--r--linux/drivers/media/dvb/frontends/alps_tdlb7.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/frontends/alps_tdlb7.c b/linux/drivers/media/dvb/frontends/alps_tdlb7.c
index bf9f8382f..ff3cfe3e6 100644
--- a/linux/drivers/media/dvb/frontends/alps_tdlb7.c
+++ b/linux/drivers/media/dvb/frontends/alps_tdlb7.c
@@ -648,18 +648,19 @@ static int attach_adapter(struct i2c_adapter *adapter)
ret = sp8870_firmware_upload(adapter, fw);
if (ret) {
printk("tdlb7: writing firmware to device failed\n");
+ release_firmware(fw);
goto out;
}
ret = dvb_register_frontend_new (tdlb7_ioctl, state->dvb, (void*) state, &tdlb7_info);
if (ret) {
printk("tdlb7: registering frontend to dvb-core failed.\n");
+ release_firmware(fw);
goto out;
}
return 0;
out:
- release_firmware(fw);
i2c_detach_client(client);
kfree(client);
kfree(state);