diff options
author | Laurent Pinchart <laurent.pinchart@skynet.be> | 2008-11-08 17:14:50 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-29 14:53:31 -0500 |
commit | 44f0079ec74330b457d990072c13cbe28b0f1abf (patch) | |
tree | a5af6ae41c4ff9dabc882d08cfda79a791d56430 /drivers/media/video/uvc/uvc_driver.c | |
parent | 7e21fda17e7f6156e2ad66ca4f76abcbe1063eb2 (diff) |
V4L/DVB (9570): uvcvideo: Handle failed video GET_{MIN|MAX|DEF} requests more gracefully
Failed requests will now generate a one-time warning message instead of the
usual "Failed to query..." error, which should be more user-friendly. The
driver will also recover automatically from failed GET_MIN/GET_MAX requests
when the device is half-broken without requiring the MINMAX quirk (fully
broken devices still need the quirk).
Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/uvc/uvc_driver.c')
-rw-r--r-- | drivers/media/video/uvc/uvc_driver.c | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c index 11398ee66320..1e3b4fe5ae93 100644 --- a/drivers/media/video/uvc/uvc_driver.c +++ b/drivers/media/video/uvc/uvc_driver.c | |||
@@ -1726,24 +1726,6 @@ static int uvc_reset_resume(struct usb_interface *intf) | |||
1726 | * though they are compliant. | 1726 | * though they are compliant. |
1727 | */ | 1727 | */ |
1728 | static struct usb_device_id uvc_ids[] = { | 1728 | static struct usb_device_id uvc_ids[] = { |
1729 | /* ALi M5606 (Clevo M540SR) */ | ||
1730 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1731 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1732 | .idVendor = 0x0402, | ||
1733 | .idProduct = 0x5606, | ||
1734 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1735 | .bInterfaceSubClass = 1, | ||
1736 | .bInterfaceProtocol = 0, | ||
1737 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1738 | /* Creative Live! Optia */ | ||
1739 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1740 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1741 | .idVendor = 0x041e, | ||
1742 | .idProduct = 0x4057, | ||
1743 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1744 | .bInterfaceSubClass = 1, | ||
1745 | .bInterfaceProtocol = 0, | ||
1746 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1747 | /* Microsoft Lifecam NX-6000 */ | 1729 | /* Microsoft Lifecam NX-6000 */ |
1748 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | 1730 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
1749 | | USB_DEVICE_ID_MATCH_INT_INFO, | 1731 | | USB_DEVICE_ID_MATCH_INT_INFO, |
@@ -1829,15 +1811,6 @@ static struct usb_device_id uvc_ids[] = { | |||
1829 | .bInterfaceSubClass = 1, | 1811 | .bInterfaceSubClass = 1, |
1830 | .bInterfaceProtocol = 0, | 1812 | .bInterfaceProtocol = 0, |
1831 | .driver_info = UVC_QUIRK_STREAM_NO_FID }, | 1813 | .driver_info = UVC_QUIRK_STREAM_NO_FID }, |
1832 | /* Silicon Motion SM371 */ | ||
1833 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1834 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1835 | .idVendor = 0x090c, | ||
1836 | .idProduct = 0xb371, | ||
1837 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1838 | .bInterfaceSubClass = 1, | ||
1839 | .bInterfaceProtocol = 0, | ||
1840 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1841 | /* MT6227 */ | 1814 | /* MT6227 */ |
1842 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | 1815 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
1843 | | USB_DEVICE_ID_MATCH_INT_INFO, | 1816 | | USB_DEVICE_ID_MATCH_INT_INFO, |
@@ -1922,105 +1895,6 @@ static struct usb_device_id uvc_ids[] = { | |||
1922 | .bInterfaceProtocol = 0, | 1895 | .bInterfaceProtocol = 0, |
1923 | .driver_info = UVC_QUIRK_PROBE_MINMAX | 1896 | .driver_info = UVC_QUIRK_PROBE_MINMAX |
1924 | | UVC_QUIRK_IGNORE_SELECTOR_UNIT}, | 1897 | | UVC_QUIRK_IGNORE_SELECTOR_UNIT}, |
1925 | /* Acer OEM Webcam - Unknown vendor */ | ||
1926 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1927 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1928 | .idVendor = 0x5986, | ||
1929 | .idProduct = 0x0100, | ||
1930 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1931 | .bInterfaceSubClass = 1, | ||
1932 | .bInterfaceProtocol = 0, | ||
1933 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1934 | /* Packard Bell OEM Webcam - Bison Electronics */ | ||
1935 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1936 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1937 | .idVendor = 0x5986, | ||
1938 | .idProduct = 0x0101, | ||
1939 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1940 | .bInterfaceSubClass = 1, | ||
1941 | .bInterfaceProtocol = 0, | ||
1942 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1943 | /* Acer Crystal Eye webcam - Bison Electronics */ | ||
1944 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1945 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1946 | .idVendor = 0x5986, | ||
1947 | .idProduct = 0x0102, | ||
1948 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1949 | .bInterfaceSubClass = 1, | ||
1950 | .bInterfaceProtocol = 0, | ||
1951 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1952 | /* Compaq Presario B1200 - Bison Electronics */ | ||
1953 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1954 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1955 | .idVendor = 0x5986, | ||
1956 | .idProduct = 0x0104, | ||
1957 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1958 | .bInterfaceSubClass = 1, | ||
1959 | .bInterfaceProtocol = 0, | ||
1960 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1961 | /* Acer Travelmate 7720 - Bison Electronics */ | ||
1962 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1963 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1964 | .idVendor = 0x5986, | ||
1965 | .idProduct = 0x0105, | ||
1966 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1967 | .bInterfaceSubClass = 1, | ||
1968 | .bInterfaceProtocol = 0, | ||
1969 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1970 | /* Medion Akoya Mini E1210 - Bison Electronics */ | ||
1971 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1972 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1973 | .idVendor = 0x5986, | ||
1974 | .idProduct = 0x0141, | ||
1975 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1976 | .bInterfaceSubClass = 1, | ||
1977 | .bInterfaceProtocol = 0, | ||
1978 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1979 | /* Acer OrbiCam - Bison Electronics */ | ||
1980 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1981 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1982 | .idVendor = 0x5986, | ||
1983 | .idProduct = 0x0200, | ||
1984 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1985 | .bInterfaceSubClass = 1, | ||
1986 | .bInterfaceProtocol = 0, | ||
1987 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1988 | /* Fujitsu Amilo SI2636 - Bison Electronics */ | ||
1989 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1990 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
1991 | .idVendor = 0x5986, | ||
1992 | .idProduct = 0x0202, | ||
1993 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
1994 | .bInterfaceSubClass = 1, | ||
1995 | .bInterfaceProtocol = 0, | ||
1996 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
1997 | /* Advent 4211 - Bison Electronics */ | ||
1998 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
1999 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
2000 | .idVendor = 0x5986, | ||
2001 | .idProduct = 0x0203, | ||
2002 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
2003 | .bInterfaceSubClass = 1, | ||
2004 | .bInterfaceProtocol = 0, | ||
2005 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
2006 | /* Bison Electronics */ | ||
2007 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
2008 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
2009 | .idVendor = 0x5986, | ||
2010 | .idProduct = 0x0300, | ||
2011 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
2012 | .bInterfaceSubClass = 1, | ||
2013 | .bInterfaceProtocol = 0, | ||
2014 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
2015 | /* Clevo M570TU - Bison Electronics */ | ||
2016 | { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | ||
2017 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
2018 | .idVendor = 0x5986, | ||
2019 | .idProduct = 0x0303, | ||
2020 | .bInterfaceClass = USB_CLASS_VIDEO, | ||
2021 | .bInterfaceSubClass = 1, | ||
2022 | .bInterfaceProtocol = 0, | ||
2023 | .driver_info = UVC_QUIRK_PROBE_MINMAX }, | ||
2024 | /* Generic USB Video Class */ | 1898 | /* Generic USB Video Class */ |
2025 | { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) }, | 1899 | { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) }, |
2026 | {} | 1900 | {} |