Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
uhci-hcd: fix list access bug
USB: Support for ELECOM LD-USB20 in pegasus
USB: Add VIA quirk fixup for VT8235 usb2
USB: rtl8150_disconnect() needs tasklet_kill()
USB Storage: unusual_devs.h for Sony Ericsson M600i
USB Storage: Remove the finecam3 unusual_devs entry
UHCI: don't stop at an Iso error
usb gadget: g_ether spinlock recursion fix
USB: add all wacom device to hid-core.c blacklist
hid-core.c: Adds all GTCO CalComp Digitizers and InterWrite School Products to blacklist
USB floppy drive SAMSUNG SFD-321U/EP detected 8 times

+149 -79
+1
drivers/pci/quirks.c
··· 667 667 DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, quirk_via_irq); 668 668 DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irq); 669 669 DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_irq); 670 + DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8235_USB_2, quirk_via_irq); 670 671 DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); 671 672 DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); 672 673 DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq);
+31 -14
drivers/usb/gadget/ether.c
··· 117 117 struct usb_ep *in_ep, *out_ep, *status_ep; 118 118 const struct usb_endpoint_descriptor 119 119 *in, *out, *status; 120 + 121 + spinlock_t req_lock; 120 122 struct list_head tx_reqs, rx_reqs; 121 123 122 124 struct net_device *net; ··· 1068 1066 */ 1069 1067 if (dev->in) { 1070 1068 usb_ep_disable (dev->in_ep); 1069 + spin_lock(&dev->req_lock); 1071 1070 while (likely (!list_empty (&dev->tx_reqs))) { 1072 1071 req = container_of (dev->tx_reqs.next, 1073 1072 struct usb_request, list); 1074 1073 list_del (&req->list); 1074 + 1075 + spin_unlock(&dev->req_lock); 1075 1076 usb_ep_free_request (dev->in_ep, req); 1077 + spin_lock(&dev->req_lock); 1076 1078 } 1079 + spin_unlock(&dev->req_lock); 1077 1080 } 1078 1081 if (dev->out) { 1079 1082 usb_ep_disable (dev->out_ep); 1083 + spin_lock(&dev->req_lock); 1080 1084 while (likely (!list_empty (&dev->rx_reqs))) { 1081 1085 req = container_of (dev->rx_reqs.next, 1082 1086 struct usb_request, list); 1083 1087 list_del (&req->list); 1088 + 1089 + spin_unlock(&dev->req_lock); 1084 1090 usb_ep_free_request (dev->out_ep, req); 1091 + spin_lock(&dev->req_lock); 1085 1092 } 1093 + spin_unlock(&dev->req_lock); 1086 1094 } 1087 1095 1088 1096 if (dev->status) { ··· 1671 1659 if (retval) { 1672 1660 DEBUG (dev, "rx submit --> %d\n", retval); 1673 1661 dev_kfree_skb_any (skb); 1674 - spin_lock (&dev->lock); 1662 + spin_lock(&dev->req_lock); 1675 1663 list_add (&req->list, &dev->rx_reqs); 1676 - spin_unlock (&dev->lock); 1664 + spin_unlock(&dev->req_lock); 1677 1665 } 1678 1666 return retval; 1679 1667 } ··· 1742 1730 dev_kfree_skb_any (skb); 1743 1731 if (!netif_running (dev->net)) { 1744 1732 clean: 1745 - /* nobody reading rx_reqs, so no dev->lock */ 1733 + spin_lock(&dev->req_lock); 1746 1734 list_add (&req->list, &dev->rx_reqs); 1735 + spin_unlock(&dev->req_lock); 1747 1736 req = NULL; 1748 1737 } 1749 1738 if (req) ··· 1795 1782 { 1796 1783 int status; 1797 1784 1785 + spin_lock(&dev->req_lock); 1798 1786 status = prealloc (&dev->tx_reqs, dev->in_ep, n, gfp_flags); 1799 1787 if (status < 0) 1800 1788 goto fail; 1801 1789 status = prealloc (&dev->rx_reqs, dev->out_ep, n, gfp_flags); 1802 1790 if (status < 0) 1803 1791 goto fail; 1804 - return 0; 1792 + goto done; 1805 1793 fail: 1806 1794 DEBUG (dev, "can't alloc requests\n"); 1795 + done: 1796 + spin_unlock(&dev->req_lock); 1807 1797 return status; 1808 1798 } 1809 1799 ··· 1816 1800 unsigned long flags; 1817 1801 1818 1802 /* fill unused rxq slots with some skb */ 1819 - spin_lock_irqsave (&dev->lock, flags); 1803 + spin_lock_irqsave(&dev->req_lock, flags); 1820 1804 while (!list_empty (&dev->rx_reqs)) { 1821 1805 req = container_of (dev->rx_reqs.next, 1822 1806 struct usb_request, list); 1823 1807 list_del_init (&req->list); 1824 - spin_unlock_irqrestore (&dev->lock, flags); 1808 + spin_unlock_irqrestore(&dev->req_lock, flags); 1825 1809 1826 1810 if (rx_submit (dev, req, gfp_flags) < 0) { 1827 1811 defer_kevent (dev, WORK_RX_MEMORY); 1828 1812 return; 1829 1813 } 1830 1814 1831 - spin_lock_irqsave (&dev->lock, flags); 1815 + spin_lock_irqsave(&dev->req_lock, flags); 1832 1816 } 1833 - spin_unlock_irqrestore (&dev->lock, flags); 1817 + spin_unlock_irqrestore(&dev->req_lock, flags); 1834 1818 } 1835 1819 1836 1820 static void eth_work (void *_dev) ··· 1864 1848 } 1865 1849 dev->stats.tx_packets++; 1866 1850 1867 - spin_lock (&dev->lock); 1851 + spin_lock(&dev->req_lock); 1868 1852 list_add (&req->list, &dev->tx_reqs); 1869 - spin_unlock (&dev->lock); 1853 + spin_unlock(&dev->req_lock); 1870 1854 dev_kfree_skb_any (skb); 1871 1855 1872 1856 atomic_dec (&dev->tx_qlen); ··· 1912 1896 /* ignores USB_CDC_PACKET_TYPE_DIRECTED */ 1913 1897 } 1914 1898 1915 - spin_lock_irqsave (&dev->lock, flags); 1899 + spin_lock_irqsave(&dev->req_lock, flags); 1916 1900 req = container_of (dev->tx_reqs.next, struct usb_request, list); 1917 1901 list_del (&req->list); 1918 1902 if (list_empty (&dev->tx_reqs)) 1919 1903 netif_stop_queue (net); 1920 - spin_unlock_irqrestore (&dev->lock, flags); 1904 + spin_unlock_irqrestore(&dev->req_lock, flags); 1921 1905 1922 1906 /* no buffer copies needed, unless the network stack did it 1923 1907 * or the hardware can't use skb buffers. ··· 1971 1955 drop: 1972 1956 dev->stats.tx_dropped++; 1973 1957 dev_kfree_skb_any (skb); 1974 - spin_lock_irqsave (&dev->lock, flags); 1958 + spin_lock_irqsave(&dev->req_lock, flags); 1975 1959 if (list_empty (&dev->tx_reqs)) 1976 1960 netif_start_queue (net); 1977 1961 list_add (&req->list, &dev->tx_reqs); 1978 - spin_unlock_irqrestore (&dev->lock, flags); 1962 + spin_unlock_irqrestore(&dev->req_lock, flags); 1979 1963 } 1980 1964 return 0; 1981 1965 } ··· 2394 2378 return status; 2395 2379 dev = netdev_priv(net); 2396 2380 spin_lock_init (&dev->lock); 2381 + spin_lock_init (&dev->req_lock); 2397 2382 INIT_WORK (&dev->work, eth_work, dev); 2398 2383 INIT_LIST_HEAD (&dev->tx_reqs); 2399 2384 INIT_LIST_HEAD (&dev->rx_reqs);
+2 -2
drivers/usb/host/uhci-q.c
··· 372 372 * need to change any toggles in this URB */ 373 373 td = list_entry(urbp->td_list.next, struct uhci_td, list); 374 374 if (toggle > 1 || uhci_toggle(td_token(td)) == toggle) { 375 - td = list_entry(urbp->td_list.next, struct uhci_td, 375 + td = list_entry(urbp->td_list.prev, struct uhci_td, 376 376 list); 377 377 toggle = uhci_toggle(td_token(td)) ^ 1; 378 378 ··· 1348 1348 } 1349 1349 1350 1350 uhci_giveback_urb(uhci, qh, urb, regs); 1351 - if (status < 0) 1351 + if (status < 0 && qh->type != USB_ENDPOINT_XFER_ISOC) 1352 1352 break; 1353 1353 } 1354 1354
+96 -53
drivers/usb/input/hid-core.c
··· 1411 1411 warn("timeout initializing reports"); 1412 1412 } 1413 1413 1414 + #define USB_VENDOR_ID_GTCO 0x078c 1415 + #define USB_DEVICE_ID_GTCO_90 0x0090 1416 + #define USB_DEVICE_ID_GTCO_100 0x0100 1417 + #define USB_DEVICE_ID_GTCO_101 0x0101 1418 + #define USB_DEVICE_ID_GTCO_103 0x0103 1419 + #define USB_DEVICE_ID_GTCO_104 0x0104 1420 + #define USB_DEVICE_ID_GTCO_105 0x0105 1421 + #define USB_DEVICE_ID_GTCO_106 0x0106 1422 + #define USB_DEVICE_ID_GTCO_107 0x0107 1423 + #define USB_DEVICE_ID_GTCO_108 0x0108 1424 + #define USB_DEVICE_ID_GTCO_200 0x0200 1425 + #define USB_DEVICE_ID_GTCO_201 0x0201 1426 + #define USB_DEVICE_ID_GTCO_202 0x0202 1427 + #define USB_DEVICE_ID_GTCO_203 0x0203 1428 + #define USB_DEVICE_ID_GTCO_204 0x0204 1429 + #define USB_DEVICE_ID_GTCO_205 0x0205 1430 + #define USB_DEVICE_ID_GTCO_206 0x0206 1431 + #define USB_DEVICE_ID_GTCO_207 0x0207 1432 + #define USB_DEVICE_ID_GTCO_300 0x0300 1433 + #define USB_DEVICE_ID_GTCO_301 0x0301 1434 + #define USB_DEVICE_ID_GTCO_302 0x0302 1435 + #define USB_DEVICE_ID_GTCO_303 0x0303 1436 + #define USB_DEVICE_ID_GTCO_304 0x0304 1437 + #define USB_DEVICE_ID_GTCO_305 0x0305 1438 + #define USB_DEVICE_ID_GTCO_306 0x0306 1439 + #define USB_DEVICE_ID_GTCO_307 0x0307 1440 + #define USB_DEVICE_ID_GTCO_308 0x0308 1441 + #define USB_DEVICE_ID_GTCO_309 0x0309 1442 + #define USB_DEVICE_ID_GTCO_400 0x0400 1443 + #define USB_DEVICE_ID_GTCO_401 0x0401 1444 + #define USB_DEVICE_ID_GTCO_402 0x0402 1445 + #define USB_DEVICE_ID_GTCO_403 0x0403 1446 + #define USB_DEVICE_ID_GTCO_404 0x0404 1447 + #define USB_DEVICE_ID_GTCO_404 0x0405 1448 + #define USB_DEVICE_ID_GTCO_500 0x0500 1449 + #define USB_DEVICE_ID_GTCO_501 0x0501 1450 + #define USB_DEVICE_ID_GTCO_502 0x0502 1451 + #define USB_DEVICE_ID_GTCO_503 0x0503 1452 + #define USB_DEVICE_ID_GTCO_504 0x0504 1453 + #define USB_DEVICE_ID_GTCO_1000 0x1000 1454 + #define USB_DEVICE_ID_GTCO_1001 0x1001 1455 + #define USB_DEVICE_ID_GTCO_1002 0x1002 1456 + #define USB_DEVICE_ID_GTCO_1003 0x1003 1457 + #define USB_DEVICE_ID_GTCO_1004 0x1004 1458 + #define USB_DEVICE_ID_GTCO_1005 0x1005 1459 + #define USB_DEVICE_ID_GTCO_1006 0x1006 1460 + 1414 1461 #define USB_VENDOR_ID_WACOM 0x056a 1415 - #define USB_DEVICE_ID_WACOM_PENPARTNER 0x0000 1416 - #define USB_DEVICE_ID_WACOM_GRAPHIRE 0x0010 1417 - #define USB_DEVICE_ID_WACOM_INTUOS 0x0020 1418 - #define USB_DEVICE_ID_WACOM_PL 0x0030 1419 - #define USB_DEVICE_ID_WACOM_INTUOS2 0x0040 1420 - #define USB_DEVICE_ID_WACOM_VOLITO 0x0060 1421 - #define USB_DEVICE_ID_WACOM_PTU 0x0003 1422 - #define USB_DEVICE_ID_WACOM_INTUOS3 0x00B0 1423 - #define USB_DEVICE_ID_WACOM_CINTIQ 0x003F 1424 - #define USB_DEVICE_ID_WACOM_DTF 0x00C0 1425 1462 1426 1463 #define USB_VENDOR_ID_ACECAD 0x0460 1427 1464 #define USB_DEVICE_ID_ACECAD_FLAIR 0x0004 ··· 1625 1588 { USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_8_8_IF_KIT, HID_QUIRK_IGNORE }, 1626 1589 { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_POWERMATE, HID_QUIRK_IGNORE }, 1627 1590 { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_SOUNDKNOB, HID_QUIRK_IGNORE }, 1591 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_90, HID_QUIRK_IGNORE }, 1592 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_100, HID_QUIRK_IGNORE }, 1593 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_101, HID_QUIRK_IGNORE }, 1594 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_103, HID_QUIRK_IGNORE }, 1595 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_104, HID_QUIRK_IGNORE }, 1596 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_105, HID_QUIRK_IGNORE }, 1597 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_106, HID_QUIRK_IGNORE }, 1598 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_107, HID_QUIRK_IGNORE }, 1599 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_108, HID_QUIRK_IGNORE }, 1600 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_200, HID_QUIRK_IGNORE }, 1601 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_201, HID_QUIRK_IGNORE }, 1602 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_202, HID_QUIRK_IGNORE }, 1603 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_203, HID_QUIRK_IGNORE }, 1604 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_204, HID_QUIRK_IGNORE }, 1605 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_205, HID_QUIRK_IGNORE }, 1606 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_206, HID_QUIRK_IGNORE }, 1607 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_207, HID_QUIRK_IGNORE }, 1608 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_300, HID_QUIRK_IGNORE }, 1609 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_301, HID_QUIRK_IGNORE }, 1610 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_302, HID_QUIRK_IGNORE }, 1611 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_303, HID_QUIRK_IGNORE }, 1612 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_304, HID_QUIRK_IGNORE }, 1613 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_305, HID_QUIRK_IGNORE }, 1614 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_306, HID_QUIRK_IGNORE }, 1615 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_307, HID_QUIRK_IGNORE }, 1616 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_308, HID_QUIRK_IGNORE }, 1617 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_309, HID_QUIRK_IGNORE }, 1618 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_400, HID_QUIRK_IGNORE }, 1619 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_401, HID_QUIRK_IGNORE }, 1620 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_402, HID_QUIRK_IGNORE }, 1621 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_403, HID_QUIRK_IGNORE }, 1622 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_404, HID_QUIRK_IGNORE }, 1623 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_404, HID_QUIRK_IGNORE }, 1624 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_500, HID_QUIRK_IGNORE }, 1625 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_501, HID_QUIRK_IGNORE }, 1626 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_502, HID_QUIRK_IGNORE }, 1627 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_503, HID_QUIRK_IGNORE }, 1628 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_504, HID_QUIRK_IGNORE }, 1629 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1000, HID_QUIRK_IGNORE }, 1630 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1001, HID_QUIRK_IGNORE }, 1631 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1002, HID_QUIRK_IGNORE }, 1632 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1003, HID_QUIRK_IGNORE }, 1633 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1004, HID_QUIRK_IGNORE }, 1634 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1005, HID_QUIRK_IGNORE }, 1635 + { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1006, HID_QUIRK_IGNORE }, 1628 1636 { USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE }, 1629 1637 { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY, HID_QUIRK_IGNORE }, 1630 1638 { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POCKETCASSY, HID_QUIRK_IGNORE }, ··· 1699 1617 { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP, HID_QUIRK_IGNORE }, 1700 1618 { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP, HID_QUIRK_IGNORE }, 1701 1619 { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS, HID_QUIRK_IGNORE }, 1702 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PENPARTNER, HID_QUIRK_IGNORE }, 1703 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE, HID_QUIRK_IGNORE }, 1704 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 1, HID_QUIRK_IGNORE }, 1705 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 2, HID_QUIRK_IGNORE }, 1706 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 3, HID_QUIRK_IGNORE }, 1707 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 4, HID_QUIRK_IGNORE }, 1708 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS, HID_QUIRK_IGNORE }, 1709 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 1, HID_QUIRK_IGNORE }, 1710 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 2, HID_QUIRK_IGNORE }, 1711 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 3, HID_QUIRK_IGNORE }, 1712 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 4, HID_QUIRK_IGNORE }, 1713 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL, HID_QUIRK_IGNORE }, 1714 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 1, HID_QUIRK_IGNORE }, 1715 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 2, HID_QUIRK_IGNORE }, 1716 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 3, HID_QUIRK_IGNORE }, 1717 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 4, HID_QUIRK_IGNORE }, 1718 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 5, HID_QUIRK_IGNORE }, 1719 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 7, HID_QUIRK_IGNORE }, 1720 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 8, HID_QUIRK_IGNORE }, 1721 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 9, HID_QUIRK_IGNORE }, 1722 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 1, HID_QUIRK_IGNORE }, 1723 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 2, HID_QUIRK_IGNORE }, 1724 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 3, HID_QUIRK_IGNORE }, 1725 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 4, HID_QUIRK_IGNORE }, 1726 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 5, HID_QUIRK_IGNORE }, 1727 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 7, HID_QUIRK_IGNORE }, 1728 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO, HID_QUIRK_IGNORE }, 1729 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 1, HID_QUIRK_IGNORE }, 1730 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 2, HID_QUIRK_IGNORE }, 1731 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 3, HID_QUIRK_IGNORE }, 1732 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 4, HID_QUIRK_IGNORE }, 1733 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 5, HID_QUIRK_IGNORE }, 1734 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 6, HID_QUIRK_IGNORE }, 1735 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PTU, HID_QUIRK_IGNORE }, 1736 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3, HID_QUIRK_IGNORE }, 1737 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 1, HID_QUIRK_IGNORE }, 1738 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 2, HID_QUIRK_IGNORE }, 1739 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 3, HID_QUIRK_IGNORE }, 1740 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 4, HID_QUIRK_IGNORE }, 1741 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 5, HID_QUIRK_IGNORE }, 1742 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_CINTIQ, HID_QUIRK_IGNORE }, 1743 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_DTF, HID_QUIRK_IGNORE }, 1744 - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_DTF + 3, HID_QUIRK_IGNORE }, 1745 1620 { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, 1746 1621 { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, 1747 1622 { USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K, HID_QUIRK_IGNORE }, ··· 1816 1777 unsigned quirks = 0, rsize = 0; 1817 1778 char *rdesc; 1818 1779 int n, len, insize = 0; 1780 + 1781 + /* Ignore all Wacom devices */ 1782 + if (dev->descriptor.idVendor == USB_VENDOR_ID_WACOM) 1783 + return NULL; 1819 1784 1820 1785 for (n = 0; hid_blacklist[n].idVendor; n++) 1821 1786 if ((hid_blacklist[n].idVendor == le16_to_cpu(dev->descriptor.idVendor)) &&
+3
drivers/usb/net/pegasus.h
··· 131 131 #define VENDOR_COREGA 0x07aa 132 132 #define VENDOR_DLINK 0x2001 133 133 #define VENDOR_ELCON 0x0db7 134 + #define VENDOR_ELECOM 0x056e 134 135 #define VENDOR_ELSA 0x05cc 135 136 #define VENDOR_GIGABYTE 0x1044 136 137 #define VENDOR_HAWKING 0x0e66 ··· 234 233 DEFAULT_GPIO_RESET ) 235 234 PEGASUS_DEV( "GOLDPFEIL USB Adapter", VENDOR_ELCON, 0x0002, 236 235 DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA ) 236 + PEGASUS_DEV( "ELECOM USB Ethernet LD-USB20", VENDOR_ELECOM, 0x4010, 237 + DEFAULT_GPIO_RESET | PEGASUS_II ) 237 238 PEGASUS_DEV( "EasiDock Ethernet", VENDOR_MOBILITY, 0x0304, 238 239 DEFAULT_GPIO_RESET ) 239 240 PEGASUS_DEV( "Elsa Micolink USB2Ethernet", VENDOR_ELSA, 0x3000,
+1
drivers/usb/net/rtl8150.c
··· 972 972 if (dev) { 973 973 set_bit(RTL8150_UNPLUG, &dev->flags); 974 974 tasklet_disable(&dev->tl); 975 + tasklet_kill(&dev->tl); 975 976 unregister_netdev(dev->netdev); 976 977 unlink_all_urbs(dev); 977 978 free_all_urbs(dev);
+14 -10
drivers/usb/storage/unusual_devs.h
··· 241 241 "Finecam S5", 242 242 US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), 243 243 244 - /* Patch for Kyocera Finecam L3 245 - * Submitted by Michael Krauth <michael.krauth@web.de> 246 - * and Alessandro Fracchetti <al.fracchetti@tin.it> 247 - */ 248 - UNUSUAL_DEV( 0x0482, 0x0105, 0x0100, 0x0100, 249 - "Kyocera", 250 - "Finecam L3", 251 - US_SC_SCSI, US_PR_BULK, NULL, 252 - US_FL_FIX_INQUIRY), 253 - 254 244 /* Reported by Paul Stewart <stewart@wetlogic.net> 255 245 * This entry is needed because the device reports Sub=ff */ 256 246 UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001, ··· 588 598 "PEG Mass Storage", 589 599 US_SC_DEVICE, US_PR_DEVICE, NULL, 590 600 US_FL_FIX_INQUIRY ), 601 + 602 + /* floppy reports multiple luns */ 603 + UNUSUAL_DEV( 0x055d, 0x2020, 0x0000, 0x0210, 604 + "SAMSUNG", 605 + "SFD-321U [FW 0C]", 606 + US_SC_DEVICE, US_PR_DEVICE, NULL, 607 + US_FL_SINGLE_LUN ), 591 608 592 609 593 610 UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299, ··· 1253 1256 "V800-Vodafone 802", 1254 1257 US_SC_DEVICE, US_PR_DEVICE, NULL, 1255 1258 US_FL_NO_WP_DETECT ), 1259 + 1260 + /* Reported by Emmanuel Vasilakis <evas@forthnet.gr> */ 1261 + UNUSUAL_DEV( 0x0fce, 0xe031, 0x0000, 0x0000, 1262 + "Sony Ericsson", 1263 + "M600i", 1264 + US_SC_DEVICE, US_PR_DEVICE, NULL, 1265 + US_FL_FIX_CAPACITY ), 1256 1266 1257 1267 /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu> 1258 1268 * Tested on hardware version 1.10.
+1
include/linux/pci_ids.h
··· 1292 1292 #define PCI_DEVICE_ID_VIA_8367_0 0x3099 1293 1293 #define PCI_DEVICE_ID_VIA_8653_0 0x3101 1294 1294 #define PCI_DEVICE_ID_VIA_8622 0x3102 1295 + #define PCI_DEVICE_ID_VIA_8235_USB_2 0x3104 1295 1296 #define PCI_DEVICE_ID_VIA_8233C_0 0x3109 1296 1297 #define PCI_DEVICE_ID_VIA_8361 0x3112 1297 1298 #define PCI_DEVICE_ID_VIA_XM266 0x3116