V4L/DVB (3314): Fixed em28xx based system lockup
authorMarkus Rechberger <mrechberger@gmail.com>
Tue, 7 Feb 2006 08:49:13 +0000 (06:49 -0200)
committerMauro Carvalho Chehab <mchehab@brturbo.com.br>
Tue, 7 Feb 2006 08:49:13 +0000 (06:49 -0200)
Fixed em28xx based system lockup, device needs to be initialized
before starting the isoc transfer otherwise the system will completly lock up.

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/em28xx/em28xx-video.c

index 1726b2c26b6ce8ef20420915a7e55eb42063940b..1c1557d9bace66724a7387c9dfff5e9c82503f9b 100644 (file)
@@ -383,12 +383,14 @@ static int em28xx_v4l2_open(struct inode *inode, struct file *filp)
                em28xx_capture_start(dev, 1);
                em28xx_resolution_set(dev);
 
+               /* device needs to be initialized before isoc transfer */
+               video_mux(dev, 0);
+
                /* start the transfer */
                errCode = em28xx_init_isoc(dev);
                if (errCode)
                        goto err;
 
-               video_mux(dev, 0);
        }
 
        dev->users++;