Browse Source

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>
Mauro Carvalho Chehab 17 years ago
parent
commit
ddd5441df4
1 changed files with 7 additions and 0 deletions
  1. 7 0
      drivers/media/video/cx88/cx88-dvb.c

+ 7 - 0
drivers/media/video/cx88/cx88-dvb.c

@@ -461,6 +461,13 @@ static int attach_xc3028(u8 addr, struct cx8802_dev *dev)
 		.video_dev = dev->core,
 		.video_dev = dev->core,
 	};
 	};
 
 
+	if (!dev->dvb.frontend) {
+		printk(KERN_ERR "%s/2: dvb frontend not attached. "
+				"Can't attach xc3028\n",
+		       dev->core->name);
+		return -EINVAL;
+	}
+
 	fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg);
 	fe = dvb_attach(xc2028_attach, dev->dvb.frontend, &cfg);
 	if (!fe) {
 	if (!fe) {
 		printk(KERN_ERR "%s/2: xc3028 attach failed\n",
 		printk(KERN_ERR "%s/2: xc3028 attach failed\n",