From: Greg Kroah-Hartman Date: Tue, 25 Mar 2014 21:24:47 +0000 (-0700) Subject: 3.13-stable patches X-Git-Tag: v3.4.85~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aafedce9128ee14598b831a974d9804742f9ea46;p=thirdparty%2Fkernel%2Fstable-queue.git 3.13-stable patches added patches: e100-fix-disabling-already-disabled-device-warning.patch xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch --- diff --git a/queue-3.13/e100-fix-disabling-already-disabled-device-warning.patch b/queue-3.13/e100-fix-disabling-already-disabled-device-warning.patch new file mode 100644 index 00000000000..78bb19a1e47 --- /dev/null +++ b/queue-3.13/e100-fix-disabling-already-disabled-device-warning.patch @@ -0,0 +1,64 @@ +From 2b6e0ca175fe4a20f21ba82b1e7ccc71029c4dd4 Mon Sep 17 00:00:00 2001 +From: Michele Baldessari +Date: Thu, 30 Jan 2014 10:51:04 +0000 +Subject: e100: Fix "disabling already-disabled device" warning + +From: Michele Baldessari + +commit 2b6e0ca175fe4a20f21ba82b1e7ccc71029c4dd4 upstream. + +In https://bugzilla.redhat.com/show_bug.cgi?id=994438 and +https://bugzilla.redhat.com/show_bug.cgi?id=970480 we +received different reports of e100 throwing the following +warning: + + [] ? pci_disable_device+0x85/0x90 + [] warn_slowpath_fmt+0x33/0x40 + [] pci_disable_device+0x85/0x90 + [] __e100_shutdown+0x80/0x120 [e100] + [] ? check_preempt_curr+0x65/0x90 + [] e100_suspend+0x16/0x30 [e100] + [] pci_legacy_suspend+0x2b/0xb0 + [] ? wait_for_completion+0x1f/0xd0 + [] ? pci_pm_poweroff+0xb0/0xb0 + [] pci_pm_freeze+0x94/0xa0 + [] dpm_run_callback+0x37/0x80 + [] ? pm_wakeup_pending+0xc4/0x140 + [] __device_suspend+0xb2/0x1f0 + [] async_suspend+0x1f/0x90 + [] async_run_entry_fn+0x35/0x140 + [] ? wake_up_process+0x1f/0x40 + [] process_one_work+0x115/0x370 + [] ? start_worker+0x25/0x30 + [] ? manage_workers.isra.27+0x1a5/0x250 + [] worker_thread+0xfe/0x330 + [] ? manage_workers.isra.27+0x250/0x250 + [] kthread+0x94/0xa0 + [] ret_from_kernel_thread+0x1b/0x28 + [] ? insert_kthread_work+0x30/0x30 + +This patch removes pci_disable_device() from __e100_shutdown(). +pci_clear_master() is enough. + +Signed-off-by: Michele Baldessari +Tested-by: Mark Harig +Signed-off-by: Aaron Brown +Signed-off-by: David S. Miller +Cc: Josh Boyer +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/ethernet/intel/e100.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/ethernet/intel/e100.c ++++ b/drivers/net/ethernet/intel/e100.c +@@ -3034,7 +3034,7 @@ static void __e100_shutdown(struct pci_d + *enable_wake = false; + } + +- pci_disable_device(pdev); ++ pci_clear_master(pdev); + } + + static int __e100_power_off(struct pci_dev *pdev, bool wake) diff --git a/queue-3.13/series b/queue-3.13/series index 1625790efd2..e3a2a0cf306 100644 --- a/queue-3.13/series +++ b/queue-3.13/series @@ -40,3 +40,5 @@ kvm-vmx-fix-use-after-free-of-vmx-loaded_vmcs.patch input-wacom-make-sure-touch_max-is-set-for-touch-devices.patch input-wacom-add-support-for-three-new-intuos-devices.patch input-wacom-add-reporting-of-sw_mute_device-events.patch +xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch +e100-fix-disabling-already-disabled-device-warning.patch diff --git a/queue-3.13/xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch b/queue-3.13/xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch new file mode 100644 index 00000000000..5547febbc1b --- /dev/null +++ b/queue-3.13/xhci-fix-resume-issues-on-renesas-chips-in-samsung-laptops.patch @@ -0,0 +1,43 @@ +From 1aa9578c1a9450fb21501c4f549f5b1edb557e6d Mon Sep 17 00:00:00 2001 +From: Sarah Sharp +Date: Fri, 17 Jan 2014 15:38:12 -0800 +Subject: xhci: Fix resume issues on Renesas chips in Samsung laptops + +From: Sarah Sharp + +commit 1aa9578c1a9450fb21501c4f549f5b1edb557e6d upstream. + +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 +Tested-by: Prarit Bhargava +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/host/xhci-pci.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/usb/host/xhci-pci.c ++++ b/drivers/usb/host/xhci-pci.c +@@ -142,6 +142,11 @@ static void xhci_pci_quirks(struct devic + "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; + }