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.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110.c b/linux/drivers/media/dvb/ttpci/av7110.c
index 9dad1f0b9..7f3f1afea 100644
--- a/linux/drivers/media/dvb/ttpci/av7110.c
+++ b/linux/drivers/media/dvb/ttpci/av7110.c
@@ -4995,12 +4995,19 @@ static struct saa7146_extension av7110_extension = {
static int __init av7110_init(void)
{
- if (saa7146_register_extension(&av7110_extension))
- return -ENODEV;
+ int retval;
+ retval = saa7146_register_extension(&av7110_extension);
+ if (retval)
+ goto failed_saa7146_register;
- av7110_ir_init();
-
+ retval = av7110_ir_init();
+ if (retval)
+ goto failed_av7110_ir_init;
return 0;
+failed_av7110_ir_init:
+ saa7146_unregister_extension(&av7110_extension);
+failed_saa7146_register:
+ return retval;
}