diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-08-29 15:04:50 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-08-29 15:04:50 -0300 |
commit | 6f9aa9413aac5a24f2e03dc48b2ff3db0ccafc92 (patch) | |
tree | 02172a25eeee331f91f11fc91a8e855ada74ade9 /linux/drivers/media/video/uvc | |
parent | 59a57f6b9ea53f0ff73ec4eafbab23f2dea7221e (diff) | |
parent | 42b611c065802d5d31f3fd7629bc10e2b134c661 (diff) | |
download | mediapointer-dvb-s2-6f9aa9413aac5a24f2e03dc48b2ff3db0ccafc92.tar.gz mediapointer-dvb-s2-6f9aa9413aac5a24f2e03dc48b2ff3db0ccafc92.tar.bz2 |
merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-dev
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video/uvc')
-rw-r--r-- | linux/drivers/media/video/uvc/uvc_driver.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/linux/drivers/media/video/uvc/uvc_driver.c b/linux/drivers/media/video/uvc/uvc_driver.c index 7e102034d..4a2d09988 100644 --- a/linux/drivers/media/video/uvc/uvc_driver.c +++ b/linux/drivers/media/video/uvc/uvc_driver.c @@ -1663,7 +1663,7 @@ static int uvc_suspend(struct usb_interface *intf, pm_message_t message) return uvc_video_suspend(&dev->video); } -static int uvc_resume(struct usb_interface *intf) +static int __uvc_resume(struct usb_interface *intf, int reset) { struct uvc_device *dev = usb_get_intfdata(intf); int ret; @@ -1672,7 +1672,7 @@ static int uvc_resume(struct usb_interface *intf) intf->cur_altsetting->desc.bInterfaceNumber); if (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOCONTROL) { - if ((ret = uvc_ctrl_resume_device(dev)) < 0) + if (reset && (ret = uvc_ctrl_resume_device(dev)) < 0) return ret; return uvc_status_resume(dev); @@ -1687,6 +1687,16 @@ static int uvc_resume(struct usb_interface *intf) return uvc_video_resume(&dev->video); } +static int uvc_resume(struct usb_interface *intf) +{ + return __uvc_resume(intf, 0); +} + +static int uvc_reset_resume(struct usb_interface *intf) +{ + return __uvc_resume(intf, 1); +} + /* ------------------------------------------------------------------------ * Driver initialization and cleanup */ @@ -1952,6 +1962,7 @@ struct uvc_driver uvc_driver = { .disconnect = uvc_disconnect, .suspend = uvc_suspend, .resume = uvc_resume, + .reset_resume = uvc_reset_resume, .id_table = uvc_ids, .supports_autosuspend = 1, }, |