diff options
author | darron@kewl.org <darron@kewl.org> | 2008-10-21 15:47:50 +0100 |
---|---|---|
committer | darron@kewl.org <darron@kewl.org> | 2008-10-21 15:47:50 +0100 |
commit | 5bc1da174322b87407c811f8cae20235dd6ae4d7 (patch) | |
tree | ad995ab4229a386633af2358ac441abea747ef66 /linux/drivers/media/video/cx88 | |
parent | 0510435b844435b557b8c02c5c7d2b0f958cd67a (diff) | |
download | mediapointer-dvb-s2-5bc1da174322b87407c811f8cae20235dd6ae4d7.tar.gz mediapointer-dvb-s2-5bc1da174322b87407c811f8cae20235dd6ae4d7.tar.bz2 |
cx88: always de-alloc frontends on fault condition
From: Darron Broad <darron@kewl.org>
De-alloc frontends on fault condition.
Priority: normal
Signed-off-by: Darron Broad <darron@kewl.org>
Diffstat (limited to 'linux/drivers/media/video/cx88')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-dvb.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-dvb.c b/linux/drivers/media/video/cx88/cx88-dvb.c index 83d006ef1..898ce5ea8 100644 --- a/linux/drivers/media/video/cx88/cx88-dvb.c +++ b/linux/drivers/media/video/cx88/cx88-dvb.c @@ -796,7 +796,7 @@ static int dvb_register(struct cx8802_dev *dev) if (fe0->dvb.frontend) fe0->dvb.frontend->ops.i2c_gate_ctrl = NULL; if (attach_xc3028(0x61, dev) < 0) - return -EINVAL; + goto frontend_detach; break; case CX88_BOARD_PCHDTV_HD3000: fe0->dvb.frontend = dvb_attach(or51132_attach, &pchdtv_hd3000, @@ -1065,7 +1065,6 @@ static int dvb_register(struct cx8802_dev *dev) goto frontend_detach; core->prev_set_voltage = fe0->dvb.frontend->ops.set_voltage; fe0->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; - } } break; @@ -1117,10 +1116,7 @@ static int dvb_register(struct cx8802_dev *dev) &dev->pci->dev, adapter_nr, mfe_shared); frontend_detach: - if (fe0->dvb.frontend) { - dvb_frontend_detach(fe0->dvb.frontend); - fe0->dvb.frontend = NULL; - } + videobuf_dvb_dealloc_frontends(&dev->frontends); return -EINVAL; } |