]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 31 Jan 2016 19:14:23 +0000 (11:14 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 31 Jan 2016 19:14:23 +0000 (11:14 -0800)
added patches:
xhci-fix-placement-of-call-to-usb_disabled.patch

queue-3.10/series [new file with mode: 0644]
queue-3.10/xhci-fix-placement-of-call-to-usb_disabled.patch [new file with mode: 0644]

diff --git a/queue-3.10/series b/queue-3.10/series
new file mode 100644 (file)
index 0000000..829ab92
--- /dev/null
@@ -0,0 +1 @@
+xhci-fix-placement-of-call-to-usb_disabled.patch
diff --git a/queue-3.10/xhci-fix-placement-of-call-to-usb_disabled.patch b/queue-3.10/xhci-fix-placement-of-call-to-usb_disabled.patch
new file mode 100644 (file)
index 0000000..32f7e30
--- /dev/null
@@ -0,0 +1,42 @@
+From foo@baz Sun Jan 31 11:11:58 PST 2016
+Date: Sun, 31 Jan 2016 11:11:58 -0800
+To: Greg KH <gregkh@linuxfoundation.org>
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Subject: xhci: fix placement of call to usb_disabled()
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+In the backport of 1eaf35e4dd592c59041bc1ed3248c46326da1f5f, the call to
+usb_disabled() was too late, after we had already done some allocation.
+Move that call to the top of the function instead, making the logic
+match what is intended and is in the original patch.
+
+Reported-by: Luis Henriques <luis.henriques@canonical.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/host/xhci.c |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/host/xhci.c
++++ b/drivers/usb/host/xhci.c
+@@ -4788,6 +4788,9 @@ static int __init xhci_hcd_init(void)
+ {
+       int retval;
++      if (usb_disabled())
++              return -ENODEV;
++
+       retval = xhci_register_pci();
+       if (retval < 0) {
+               printk(KERN_DEBUG "Problem registering PCI driver.");
+@@ -4816,9 +4819,6 @@ static int __init xhci_hcd_init(void)
+       /* xhci_run_regs has eight fields and embeds 128 xhci_intr_regs */
+       BUILD_BUG_ON(sizeof(struct xhci_run_regs) != (8+8*128)*32/8);
+-      if (usb_disabled())
+-              return -ENODEV;
+-
+       return 0;
+ unreg_pci:
+       xhci_unregister_pci();