From: Greg Kroah-Hartman Date: Tue, 23 May 2017 12:13:36 +0000 (+0200) Subject: 3.18-stable patches X-Git-Tag: v3.18.55~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fc6a4e43d6a557302a662c811a4c0fef73044913;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-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 --- diff --git a/queue-3.18/series b/queue-3.18/series index 40ec2ae360d..308687cae7e 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -17,3 +17,5 @@ iio-dac-ad7303-fix-channel-description.patch pid_ns-sleep-in-task_interruptible-in-zap_pid_ns_processes.patch usb-serial-ftdi_sio-fix-setting-latency-for-unprivileged-users.patch usb-serial-ftdi_sio-add-olimex-arm-usb-tiny-h-pids.patch +usb-host-xhci-plat-propagate-return-value-of-platform_get_irq.patch +usb-host-xhci-mem-allocate-zeroed-scratchpad-buffer.patch diff --git a/queue-3.18/usb-host-xhci-mem-allocate-zeroed-scratchpad-buffer.patch b/queue-3.18/usb-host-xhci-mem-allocate-zeroed-scratchpad-buffer.patch new file mode 100644 index 00000000000..cd5f6313734 --- /dev/null +++ b/queue-3.18/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 +@@ -1676,7 +1676,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-3.18/usb-host-xhci-plat-propagate-return-value-of-platform_get_irq.patch b/queue-3.18/usb-host-xhci-plat-propagate-return-value-of-platform_get_irq.patch new file mode 100644 index 00000000000..cc9ec59d66e --- /dev/null +++ b/queue-3.18/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 +@@ -81,7 +81,7 @@ static int xhci_plat_probe(struct platfo + + irq = platform_get_irq(pdev, 0); + if (irq < 0) +- return -ENODEV; ++ return irq; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res)