From: Greg Kroah-Hartman Date: Tue, 23 May 2017 12:15:04 +0000 (+0200) Subject: 4.4-stable patches X-Git-Tag: v3.18.55~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0af37e27ceb575da4910e2cba233ca928e4239ac;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: usb-host-xhci-mem-allocate-zeroed-scratchpad-buffer.patch usb-host-xhci-plat-propagate-return-value-of-platform_get_irq.patch xhci-apply-pme_stuck_quirk-and-missing_cas-quirk-for-denverton.patch --- diff --git a/queue-4.4/series b/queue-4.4/series index 6db25a0668a..141d997e02c 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -50,3 +50,6 @@ f2fs-check-entire-encrypted-bigname-when-finding-a-dentry.patch fscrypt-avoid-collisions-when-presenting-long-encrypted-filenames.patch sched-fair-do-not-announce-throttled-next-buddy-in-dequeue_task_fair.patch sched-fair-initialize-throttle_count-for-new-task-groups-lazily.patch +usb-host-xhci-plat-propagate-return-value-of-platform_get_irq.patch +xhci-apply-pme_stuck_quirk-and-missing_cas-quirk-for-denverton.patch +usb-host-xhci-mem-allocate-zeroed-scratchpad-buffer.patch diff --git a/queue-4.4/usb-host-xhci-mem-allocate-zeroed-scratchpad-buffer.patch b/queue-4.4/usb-host-xhci-mem-allocate-zeroed-scratchpad-buffer.patch new file mode 100644 index 00000000000..d0282570c30 --- /dev/null +++ b/queue-4.4/usb-host-xhci-mem-allocate-zeroed-scratchpad-buffer.patch @@ -0,0 +1,37 @@ +From 7480d912d549f414e0ce39331870899e89a5598c Mon Sep 17 00:00:00 2001 +From: Peter Chen +Date: Wed, 17 May 2017 18:32:01 +0300 +Subject: usb: host: xhci-mem: allocate zeroed Scratchpad Buffer + +From: Peter Chen + +commit 7480d912d549f414e0ce39331870899e89a5598c upstream. + +According to xHCI ch4.20 Scratchpad Buffers, the Scratchpad +Buffer needs to be zeroed. + + ... + The following operations take place to allocate + Scratchpad Buffers to the xHC: + ... + b. Software clears the Scratchpad Buffer to '0' + +Signed-off-by: Peter Chen +Signed-off-by: Mathias Nyman +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/host/xhci-mem.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/usb/host/xhci-mem.c ++++ b/drivers/usb/host/xhci-mem.c +@@ -1709,7 +1709,7 @@ static int scratchpad_alloc(struct xhci_ + xhci->dcbaa->dev_context_ptrs[0] = cpu_to_le64(xhci->scratchpad->sp_dma); + for (i = 0; i < num_sp; i++) { + dma_addr_t dma; +- void *buf = dma_alloc_coherent(dev, xhci->page_size, &dma, ++ void *buf = dma_zalloc_coherent(dev, xhci->page_size, &dma, + flags); + if (!buf) + goto fail_sp5; diff --git a/queue-4.4/usb-host-xhci-plat-propagate-return-value-of-platform_get_irq.patch b/queue-4.4/usb-host-xhci-plat-propagate-return-value-of-platform_get_irq.patch new file mode 100644 index 00000000000..c69bafe7493 --- /dev/null +++ b/queue-4.4/usb-host-xhci-plat-propagate-return-value-of-platform_get_irq.patch @@ -0,0 +1,32 @@ +From 4b148d5144d64ee135b8924350cb0b3a7fd21150 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 17 May 2017 18:32:06 +0300 +Subject: usb: host: xhci-plat: propagate return value of platform_get_irq() + +From: Thomas Petazzoni + +commit 4b148d5144d64ee135b8924350cb0b3a7fd21150 upstream. + +platform_get_irq() returns an error code, but the xhci-plat driver +ignores it and always returns -ENODEV. This is not correct, and +prevents -EPROBE_DEFER from being propagated properly. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Mathias Nyman +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/host/xhci-plat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/usb/host/xhci-plat.c ++++ b/drivers/usb/host/xhci-plat.c +@@ -92,7 +92,7 @@ static int xhci_plat_probe(struct platfo + + irq = platform_get_irq(pdev, 0); + if (irq < 0) +- return -ENODEV; ++ return irq; + + /* Try to set 64-bit DMA first */ + if (WARN_ON(!pdev->dev.dma_mask)) diff --git a/queue-4.4/xhci-apply-pme_stuck_quirk-and-missing_cas-quirk-for-denverton.patch b/queue-4.4/xhci-apply-pme_stuck_quirk-and-missing_cas-quirk-for-denverton.patch new file mode 100644 index 00000000000..ce8f35b9d60 --- /dev/null +++ b/queue-4.4/xhci-apply-pme_stuck_quirk-and-missing_cas-quirk-for-denverton.patch @@ -0,0 +1,46 @@ +From a0c16630d35a874e82bdf2088f58ecaca1024315 Mon Sep 17 00:00:00 2001 +From: Mathias Nyman +Date: Wed, 17 May 2017 18:32:00 +0300 +Subject: xhci: apply PME_STUCK_QUIRK and MISSING_CAS quirk for Denverton + +From: Mathias Nyman + +commit a0c16630d35a874e82bdf2088f58ecaca1024315 upstream. + +Intel Denverton microserver is Atom based and need the PME and CAS quirks +as well. + +Signed-off-by: Mathias Nyman +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/host/xhci-pci.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/drivers/usb/host/xhci-pci.c ++++ b/drivers/usb/host/xhci-pci.c +@@ -52,6 +52,7 @@ + #define PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI 0x0aa8 + #define PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI 0x1aa8 + #define PCI_DEVICE_ID_INTEL_APL_XHCI 0x5aa8 ++#define PCI_DEVICE_ID_INTEL_DNV_XHCI 0x19d0 + + static const char hcd_name[] = "xhci_hcd"; + +@@ -167,12 +168,14 @@ static void xhci_pci_quirks(struct devic + pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI || + pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI || + pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI || +- pdev->device == PCI_DEVICE_ID_INTEL_APL_XHCI)) { ++ pdev->device == PCI_DEVICE_ID_INTEL_APL_XHCI || ++ pdev->device == PCI_DEVICE_ID_INTEL_DNV_XHCI)) { + xhci->quirks |= XHCI_PME_STUCK_QUIRK; + } + if (pdev->vendor == PCI_VENDOR_ID_INTEL && + (pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI || +- pdev->device == PCI_DEVICE_ID_INTEL_APL_XHCI)) ++ pdev->device == PCI_DEVICE_ID_INTEL_APL_XHCI || ++ pdev->device == PCI_DEVICE_ID_INTEL_DNV_XHCI)) + xhci->quirks |= XHCI_MISSING_CAS; + + if (pdev->vendor == PCI_VENDOR_ID_ETRON &&