V4L/DVB (13994): gscpa_stv0680: Fix camera initialization on hotplug
authorHans de Goede <hdegoede@redhat.com>
Thu, 7 Jan 2010 15:04:04 +0000 (12:04 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 26 Feb 2010 18:10:39 +0000 (15:10 -0300)
stv0680 cameras currently only work when already plugged in when the system
boots (or when manually re-loading the driver after boot). This patch fixes
this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/stv0680.c

index 856675e00e2d79f36fee3a6be2fcc43e5ffec91d..7312bf43113bf73d7cc4d7ac784c671632ba0fff 100644 (file)
@@ -138,6 +138,10 @@ static int sd_config(struct gspca_dev *gspca_dev,
        struct sd *sd = (struct sd *) gspca_dev;
        struct cam *cam = &gspca_dev->cam;
 
+       /* Give the camera some time to settle, otherwise initalization will
+          fail on hotplug, and yes it really needs a full second. */
+       msleep(1000);
+
        /* ping camera to be sure STV0680 is present */
        if (stv_sndctrl(gspca_dev, 0, 0x88, 0x5678, 0x02) != 0x02 ||
            gspca_dev->usb_buf[0] != 0x56 || gspca_dev->usb_buf[1] != 0x78) {