aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Rechberger <mrechberger@gmail.com>2006-02-07 03:49:13 -0500
committerMauro Carvalho Chehab <mchehab@brturbo.com.br>2006-02-07 03:49:13 -0500
commite5d4a56d5d824e4dfe7d065d0fedb02e63952710 (patch)
treed74a55f6a7ca0327308aa60c638fec8b61d7016f
parent21d06544a745a09cc1e9ce5376a61b074bfce379 (diff)
V4L/DVB (3314): Fixed em28xx based system lockup
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>
-rw-r--r--drivers/media/video/em28xx/em28xx-video.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c
index 1726b2c26b6c..1c1557d9bace 100644
--- a/drivers/media/video/em28xx/em28xx-video.c
+++ b/drivers/media/video/em28xx/em28xx-video.c
@@ -383,12 +383,14 @@ static int em28xx_v4l2_open(struct inode *inode, struct file *filp)
383 em28xx_capture_start(dev, 1); 383 em28xx_capture_start(dev, 1);
384 em28xx_resolution_set(dev); 384 em28xx_resolution_set(dev);
385 385
386 /* device needs to be initialized before isoc transfer */
387 video_mux(dev, 0);
388
386 /* start the transfer */ 389 /* start the transfer */
387 errCode = em28xx_init_isoc(dev); 390 errCode = em28xx_init_isoc(dev);
388 if (errCode) 391 if (errCode)
389 goto err; 392 goto err;
390 393
391 video_mux(dev, 0);
392 } 394 }
393 395
394 dev->users++; 396 dev->users++;