aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb/bt8xx/dvb-bt8xx.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/media/dvb/bt8xx/dvb-bt8xx.c b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
index 1952f6bfc90e..8a31349dd7d5 100644
--- a/drivers/media/dvb/bt8xx/dvb-bt8xx.c
+++ b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
@@ -782,7 +782,12 @@ static int __devinit dvb_bt8xx_load_card(struct dvb_bt8xx_card *card, u32 type)
782 goto err_remove_mem_frontend; 782 goto err_remove_mem_frontend;
783 } 783 }
784 784
785 dvb_net_init(&card->dvb_adapter, &card->dvbnet, &card->demux.dmx); 785 result = dvb_net_init(&card->dvb_adapter, &card->dvbnet, &card->demux.dmx);
786 if (result < 0) {
787 printk(KERN_ERR,
788 "dvb_bt8xx: dvb_net_init failed (errno = %d)\n", result);
789 goto err_disconnect_frontend;
790 }
786 791
787 tasklet_init(&card->bt->tasklet, dvb_bt8xx_task, (unsigned long) card); 792 tasklet_init(&card->bt->tasklet, dvb_bt8xx_task, (unsigned long) card);
788 793
@@ -790,6 +795,8 @@ static int __devinit dvb_bt8xx_load_card(struct dvb_bt8xx_card *card, u32 type)
790 795
791 return 0; 796 return 0;
792 797
798err_disconnect_frontend:
799 card->demux.dmx.disconnect_frontend(&card->demux.dmx);
793err_remove_mem_frontend: 800err_remove_mem_frontend:
794 card->demux.dmx.remove_frontend(&card->demux.dmx, &card->fe_mem); 801 card->demux.dmx.remove_frontend(&card->demux.dmx, &card->fe_mem);
795err_remove_hw_frontend: 802err_remove_hw_frontend: