From: Steven Toth Date: Sat, 11 Oct 2008 15:25:25 +0000 (-0300) Subject: V4L/DVB (9230): cx23885: MFE related OOPS fix X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=d782ffa24fc6ce01b3308a0bec5aa5d9d666b568;p=openwrt%2Fstaging%2Fblogic.git V4L/DVB (9230): cx23885: MFE related OOPS fix Bug: the tree generated an oops when the cx23885 was laoded. This avoids the oops by ensuring the mutex is correctly initialised before it's used. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c index beb3e61669a3..7f4b61297175 100644 --- a/drivers/media/video/cx23885/cx23885-core.c +++ b/drivers/media/video/cx23885/cx23885-core.c @@ -643,6 +643,10 @@ static int cx23885_init_tsport(struct cx23885_dev *dev, struct cx23885_tsport *p port->mpegq.timeout.data = (unsigned long)port; init_timer(&port->mpegq.timeout); + mutex_init(&port->frontends.lock); + INIT_LIST_HEAD(&port->frontends.frontend.felist); + port->frontends.active_fe_id = 0; + switch(portno) { case 1: port->reg_gpcnt = VID_B_GPCNT; diff --git a/drivers/media/video/cx23885/cx23885-dvb.c b/drivers/media/video/cx23885/cx23885-dvb.c index 78851526db68..d779b8dd180a 100644 --- a/drivers/media/video/cx23885/cx23885-dvb.c +++ b/drivers/media/video/cx23885/cx23885-dvb.c @@ -314,11 +314,6 @@ static int dvb_register(struct cx23885_tsport *port) struct cx23885_i2c *i2c_bus = NULL; struct videobuf_dvb_frontend *fe0; - /* FIXME: add support for multi-frontend */ - mutex_init(&port->frontends.lock); - INIT_LIST_HEAD(&port->frontends.frontend.felist); - port->frontends.active_fe_id = 0; - printk(KERN_INFO "%s() allocating 1 frontend\n", __func__); if (videobuf_dvb_alloc_frontend(dev, &port->frontends, 1) == NULL) {