浏览代码

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 年之前
父节点
当前提交
ddd5441df4
共有 1 个文件被更改,包括 7 次插入0 次删除
  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,
 	};
 
+	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);
 	if (!fe) {
 		printk(KERN_ERR "%s/2: xc3028 attach failed\n",