summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci/av7110.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110.c')
-rw-r--r--linux/drivers/media/dvb/ttpci/av7110.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110.c b/linux/drivers/media/dvb/ttpci/av7110.c
index e4c9e6744..f53c989f6 100644
--- a/linux/drivers/media/dvb/ttpci/av7110.c
+++ b/linux/drivers/media/dvb/ttpci/av7110.c
@@ -1433,7 +1433,10 @@ static int av7110_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_d
/* load firmware into AV7110 cards */
av7110_bootarm(av7110);
- av7110_firmversion(av7110);
+ if (av7110_firmversion(av7110)) {
+ ret = -EIO;
+ goto err2;
+ }
if (FW_VERSION(av7110->arm_app)<0x2501)
printk ("av7110: Warning, firmware version 0x%04x is too old. "
@@ -1504,6 +1507,9 @@ static int av7110_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_d
av7110_num++;
return 0;
+err2:
+ av7110_ca_exit(av7110);
+ av7110_av_exit(av7110);
err:
if (NULL != av7110 ) {
kfree(av7110);