V4L/DVB (8818): gspca: Reinitialize the device on resume.
authorJean-Francois Moine <moinejf@free.fr>
Wed, 3 Sep 2008 20:12:15 +0000 (17:12 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 3 Sep 2008 21:37:32 +0000 (18:37 -0300)
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/gspca.c

index e7e73ec..1767991 100644 (file)
@@ -1838,9 +1838,12 @@ int gspca_resume(struct usb_interface *intf)
        struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
 
        gspca_dev->frozen = 0;
-       if (!gspca_dev->streaming)
-               return 0;
-       return gspca_init_transfer(gspca_dev);
+       if (gspca_dev->users != 0) {
+               gspca_dev->sd_desc->open(gspca_dev);
+               if (gspca_dev->streaming)
+                       return gspca_init_transfer(gspca_dev);
+       }
+       return 0;
 }
 EXPORT_SYMBOL(gspca_resume);
 #endif