Parcourir la source

V4L/DVB (10945): pwc : fix LED and power setup for first open

Call pwc_construct before trying to talk to device to obtain vc interface so
that LED and power setup works the first time the video device is opened.

Signed-off-by: Martin Fuzzey <mfuzzey@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Martin Fuzzey il y a 16 ans
Parent
commit
5c8e2403ba
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      drivers/media/video/pwc/pwc-if.c

+ 1 - 1
drivers/media/video/pwc/pwc-if.c

@@ -1125,6 +1125,7 @@ static int pwc_video_open(struct file *file)
 	}
 	}
 
 
 	mutex_lock(&pdev->modlock);
 	mutex_lock(&pdev->modlock);
+	pwc_construct(pdev); /* set min/max sizes correct */
 	if (!pdev->usb_init) {
 	if (!pdev->usb_init) {
 		PWC_DEBUG_OPEN("Doing first time initialization.\n");
 		PWC_DEBUG_OPEN("Doing first time initialization.\n");
 		pdev->usb_init = 1;
 		pdev->usb_init = 1;
@@ -1149,7 +1150,6 @@ static int pwc_video_open(struct file *file)
 	if (pwc_set_leds(pdev, led_on, led_off) < 0)
 	if (pwc_set_leds(pdev, led_on, led_off) < 0)
 		PWC_DEBUG_OPEN("Failed to set LED on/off time.\n");
 		PWC_DEBUG_OPEN("Failed to set LED on/off time.\n");
 
 
-	pwc_construct(pdev); /* set min/max sizes correct */
 
 
 	/* So far, so good. Allocate memory. */
 	/* So far, so good. Allocate memory. */
 	i = pwc_allocate_buffers(pdev);
 	i = pwc_allocate_buffers(pdev);