aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-12-01 14:11:43 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-01 14:11:52 -0500
commit8593b6f6b0f05483dc6417b2fb7eb9dfaec34cba (patch)
tree6b399a2c771893fafe33c2cd659ae291a5b10ccb /drivers/usb
parent307369b0ca06b27b511b61714e335ddfccf19c4f (diff)
parent0de13500ad1d8a66b7dc1e7fa517ea15a2625c9e (diff)
Merge branch 'for-usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus
* 'for-usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci: Revert "xHCI: reset-on-resume quirk for NEC uPD720200" xHCI: fix bug in xhci_clear_command_ring()
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/xhci-pci.c7
-rw-r--r--drivers/usb/host/xhci.c5
2 files changed, 5 insertions, 7 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index d2a7332daca4..ef98b38626fb 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -33,8 +33,6 @@
33#define PCI_VENDOR_ID_ETRON 0x1b6f 33#define PCI_VENDOR_ID_ETRON 0x1b6f
34#define PCI_DEVICE_ID_ASROCK_P67 0x7023 34#define PCI_DEVICE_ID_ASROCK_P67 0x7023
35 35
36#define PCI_DEVICE_ID_NEC_uPD720200 0x0194
37
38static const char hcd_name[] = "xhci_hcd"; 36static const char hcd_name[] = "xhci_hcd";
39 37
40/* called after powerup, by probe or system-pm "wakeup" */ 38/* called after powerup, by probe or system-pm "wakeup" */
@@ -76,11 +74,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
76 pdev->revision); 74 pdev->revision);
77 } 75 }
78 76
79 if (pdev->vendor == PCI_VENDOR_ID_NEC) { 77 if (pdev->vendor == PCI_VENDOR_ID_NEC)
80 xhci->quirks |= XHCI_NEC_HOST; 78 xhci->quirks |= XHCI_NEC_HOST;
81 if (pdev->device == PCI_DEVICE_ID_NEC_uPD720200)
82 xhci->quirks |= XHCI_RESET_ON_RESUME;
83 }
84 79
85 if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version == 0x96) 80 if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version == 0x96)
86 xhci->quirks |= XHCI_AMD_0x96_HOST; 81 xhci->quirks |= XHCI_AMD_0x96_HOST;
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index aa94c0195791..a1afb7c39f7e 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -711,7 +711,10 @@ static void xhci_clear_command_ring(struct xhci_hcd *xhci)
711 ring = xhci->cmd_ring; 711 ring = xhci->cmd_ring;
712 seg = ring->deq_seg; 712 seg = ring->deq_seg;
713 do { 713 do {
714 memset(seg->trbs, 0, SEGMENT_SIZE); 714 memset(seg->trbs, 0,
715 sizeof(union xhci_trb) * (TRBS_PER_SEGMENT - 1));
716 seg->trbs[TRBS_PER_SEGMENT - 1].link.control &=
717 cpu_to_le32(~TRB_CYCLE);
715 seg = seg->next; 718 seg = seg->next;
716 } while (seg != ring->deq_seg); 719 } while (seg != ring->deq_seg);
717 720