diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-22 13:45:46 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:48 -0400 |
commit | ddd5441df4127d5af45f6b2c58c2020b60bd52de (patch) | |
tree | 007c1bd65abf2fe1f4b344463b4c38e1e5b42c5c | |
parent | f0910c744324e3e853d7a80da876784319d9a1c8 (diff) |
V4L/DVB (7325): cx88-dvb: fix an OOPS for xc3028 devices, when dvb_attach fails
If dvb_attach fails, dev->dvb.frontend is NULL. This will produce an OOPS, as
reported.
Thanks to Vanessa Ezekowitz <vanessaezekowitz@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index cf6b9b05f496..d72b817bf886 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -461,6 +461,13 @@ static int attach_xc3028(u8 addr, struct cx8802_dev *dev) | |||
461 | .video_dev = dev->core, | 461 | .video_dev = dev->core, |
462 | }; | 462 | }; |
463 | 463 | ||
464 | if (!dev->dvb.frontend) { | ||
465 | printk(KERN_ERR "%s/2: dvb frontend not attached. " | ||
466 | "Can't attach xc3028\n", | ||
467 | dev->core->name); | ||
468 | return -EINVAL; | ||
469 | } | ||
470 | |||
464 | fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg); | 471 | fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg); |
465 | if (!fe) { | 472 | if (!fe) { |
466 | printk(KERN_ERR "%s/2: xc3028 attach failed\n", | 473 | printk(KERN_ERR "%s/2: xc3028 attach failed\n", |