Skip to content

Commit

Permalink
V4L/DVB: tm6000: only register after initialized
Browse files Browse the repository at this point in the history
Udev calls an utility when it senses a v4l device. So, register needs
to be delayed, otherwise it may cause block conditions.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mauro Carvalho Chehab committed May 18, 2010
1 parent f8960ee commit 762e17e
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions drivers/staging/tm6000/tm6000-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -453,11 +453,6 @@ static int tm6000_init_dev(struct tm6000_core *dev)
if (rc<0)
goto err;

/* register and initialize V4L2 */
rc=tm6000_v4l2_register(dev);
if (rc<0)
goto err;

/* Default values for STD and resolutions */
dev->width = 720;
dev->height = 480;
Expand All @@ -480,12 +475,18 @@ static int tm6000_init_dev(struct tm6000_core *dev)
v4l2_i2c_new_subdev(&dev->v4l2_dev, &dev->i2c_adap,
"tvaudio", "tvaudio", I2C_ADDR_TDA9874, NULL);

/* register and initialize V4L2 */
rc=tm6000_v4l2_register(dev);
if (rc<0)
goto err;

if(dev->caps.has_dvb) {
dev->dvb = kzalloc(sizeof(*(dev->dvb)), GFP_KERNEL);
if(!dev->dvb) {
rc = -ENOMEM;
goto err2;
}

#ifdef CONFIG_VIDEO_TM6000_DVB
rc = tm6000_dvb_register(dev);
if(rc < 0) {
Expand Down

0 comments on commit 762e17e

Please sign in to comment.