From 0b1511021bb60368965032da9133ba3a1df5af9d Mon Sep 17 00:00:00 2001 From: Justin M. Forbes Date: Feb 05 2014 22:22:58 +0000 Subject: fix resume issues on Renesas chips in Samsung laptops (rhbz 950630) --- diff --git a/kernel.spec b/kernel.spec index e04b69f..381d2ef 100644 --- a/kernel.spec +++ b/kernel.spec @@ -764,6 +764,8 @@ Patch25184: i915-remove-pm_qos-request-on-error.patch #rhbz 990955 Patch25185: ath9k_htc-make-sta_rc_update-atomic-for-most-calls.patch +#rhbz 950630 +Patch25186: xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch # END OF PATCH DEFINITIONS @@ -1484,6 +1486,9 @@ ApplyPatch i915-remove-pm_qos-request-on-error.patch #rhbz 990955 ApplyPatch ath9k_htc-make-sta_rc_update-atomic-for-most-calls.patch +#rhbz 950630 +ApplyPatch xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch + # END OF PATCH APPLICATIONS %endif @@ -2286,6 +2291,9 @@ fi # ||----w | # || || %changelog +* Wed Feb 05 2014 Justin M. Forbes +- fix resume issues on Renesas chips in Samsung laptops (rhbz 950630) + * Wed Jan 29 2014 Justin M. Forbes - 3.12.9-301 - ipv6 addrconf: revert /proc/net/if_inet6 ifa_flag format (rhbz 1056711) diff --git a/xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch b/xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch new file mode 100644 index 0000000..87d17de --- /dev/null +++ b/xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch @@ -0,0 +1,49 @@ +Don Zickus writes: + +Some co-workers of mine bought Samsung laptops that had mostly usb3 ports. +Those ports did not resume correctly (the driver would timeout communicating +and fail). This led to frustration as suspend/resume is a common use for +laptops. + +Poking around, I applied the reset on resume quirk to this chipset and the +resume started working. Reloading the xhci_hcd module had been the temporary +workaround. + +Signed-off-by: Sarah Sharp +Reported-by: Don Zickus +Cc: stable # 2.6.37 +--- + +Don, please ask your co-worker to apply this patch and test. Let me +know if your other co-worker has a different subsystem device ID in his +Samsung laptop, when he gets back from vacation. If so, we'll extend it +to all Samsung laptops with that particular Renesas host. + +Sarah Sharp + + drivers/usb/host/xhci-pci.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c +index e42c318a4404..6c03584ac15f 100644 +--- a/drivers/usb/host/xhci-pci.c ++++ b/drivers/usb/host/xhci-pci.c +@@ -142,6 +142,11 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) + "QUIRK: Resetting on resume"); + xhci->quirks |= XHCI_TRUST_TX_LENGTH; + } ++ if (pdev->vendor == PCI_VENDOR_ID_RENESAS && ++ pdev->device == 0x0015 && ++ pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG && ++ pdev->subsystem_device == 0xc0cd) ++ xhci->quirks |= XHCI_RESET_ON_RESUME; + if (pdev->vendor == PCI_VENDOR_ID_VIA) + xhci->quirks |= XHCI_RESET_ON_RESUME; + } +-- +1.8.5.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-usb" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html \ No newline at end of file