diff options
author | Markus Rechberger <mrechberger@gmail.com> | 2006-02-07 03:49:13 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@brturbo.com.br> | 2006-02-07 03:49:13 -0500 |
commit | e5d4a56d5d824e4dfe7d065d0fedb02e63952710 (patch) | |
tree | d74a55f6a7ca0327308aa60c638fec8b61d7016f /drivers/media/video/em28xx | |
parent | 21d06544a745a09cc1e9ce5376a61b074bfce379 (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>
Diffstat (limited to 'drivers/media/video/em28xx')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-video.c | 4 |
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++; |