Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[linux-2.6.git] / drivers / media / video / gspca / se401.c
index 1494e18..bb70092 100644 (file)
@@ -376,7 +376,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
        cam->bulk_size = BULK_SIZE;
        cam->bulk_nurbs = 4;
        cam->ctrls = sd->ctrls;
-       gspca_dev->nbalt = 1;  /* Ignore the bogus isoc alt settings */
        sd->resetlevel = 0x2d; /* Set initial resetlevel */
 
        /* See if the camera supports brightness */
@@ -395,6 +394,14 @@ static int sd_init(struct gspca_dev *gspca_dev)
        return 0;
 }
 
+/* function called at start time before URB creation */
+static int sd_isoc_init(struct gspca_dev *gspca_dev)
+{
+       gspca_dev->alt = 1;     /* Ignore the bogus isoc alt settings */
+
+       return gspca_dev->usb_err;
+}
+
 /* -- start the camera -- */
 static int sd_start(struct gspca_dev *gspca_dev)
 {
@@ -714,6 +721,7 @@ static const struct sd_desc sd_desc = {
        .nctrls = ARRAY_SIZE(sd_ctrls),
        .config = sd_config,
        .init = sd_init,
+       .isoc_init = sd_isoc_init,
        .start = sd_start,
        .stopN = sd_stopN,
        .dq_callback = sd_dq_callback,