From 1687ae44393e3c21bbab1d180c5b52194ea1b64d Mon Sep 17 00:00:00 2001 From: David Fries Date: Thu, 15 Dec 2011 01:59:20 -0300 Subject: [PATCH] --- yaml --- r: 285449 b: refs/heads/master c: 7b0962d32362a0d56627a1dfdb4e8229c5f51f94 h: refs/heads/master i: 285447: 540b30a4ea496b4534285ca31d4027ff3892c2e1 v: v3 --- [refs] | 2 +- trunk/drivers/media/video/cx88/cx88-dvb.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index e95502d305f7..590bafb81566 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b16ec6f735b8f8588c7c3e7703f7ad6267715eb8 +refs/heads/master: 7b0962d32362a0d56627a1dfdb4e8229c5f51f94 diff --git a/trunk/drivers/media/video/cx88/cx88-dvb.c b/trunk/drivers/media/video/cx88/cx88-dvb.c index cf3d33ab541b..396149824fcd 100644 --- a/trunk/drivers/media/video/cx88/cx88-dvb.c +++ b/trunk/drivers/media/video/cx88/cx88-dvb.c @@ -954,6 +954,7 @@ static int dvb_register(struct cx8802_dev *dev) struct cx88_core *core = dev->core; struct videobuf_dvb_frontend *fe0, *fe1 = NULL; int mfe_shared = 0; /* bus not shared by default */ + int res = -EINVAL; if (0 != core->i2c_rc) { printk(KERN_ERR "%s/2: no i2c-bus available, cannot attach dvb drivers\n", core->name); @@ -1566,13 +1567,16 @@ static int dvb_register(struct cx8802_dev *dev) call_all(core, core, s_power, 0); /* register everything */ - return videobuf_dvb_register_bus(&dev->frontends, THIS_MODULE, dev, - &dev->pci->dev, adapter_nr, mfe_shared, NULL); + res = videobuf_dvb_register_bus(&dev->frontends, THIS_MODULE, dev, + &dev->pci->dev, adapter_nr, mfe_shared, NULL); + if (res) + goto frontend_detach; + return res; frontend_detach: core->gate_ctrl = NULL; videobuf_dvb_dealloc_frontends(&dev->frontends); - return -EINVAL; + return res; } /* ----------------------------------------------------------- */