From: Greg Kroah-Hartman Date: Wed, 11 Jul 2012 21:38:58 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.0.37~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=570933eda2740357c6911112e609fd5bcf8c17e5;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: ipheth-add-support-for-ipad.patch xhci-avoid-dead-ports-when-config_usb_xhci_hcd-n.patch --- diff --git a/queue-3.0/ipheth-add-support-for-ipad.patch b/queue-3.0/ipheth-add-support-for-ipad.patch new file mode 100644 index 00000000000..5adfe957836 --- /dev/null +++ b/queue-3.0/ipheth-add-support-for-ipad.patch @@ -0,0 +1,41 @@ +From 6de0298ec9c1edaf330b71b57346241ece8f3346 Mon Sep 17 00:00:00 2001 +From: Davide Gerhard +Date: Mon, 25 Jun 2012 09:04:47 +0200 +Subject: ipheth: add support for iPad + +From: Davide Gerhard + +commit 6de0298ec9c1edaf330b71b57346241ece8f3346 upstream. + +This adds support for the iPad to the ipheth driver. +(product id = 0x129a) + +Signed-off-by: Davide Gerhard +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/usb/ipheth.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/net/usb/ipheth.c ++++ b/drivers/net/usb/ipheth.c +@@ -59,6 +59,7 @@ + #define USB_PRODUCT_IPHONE_3G 0x1292 + #define USB_PRODUCT_IPHONE_3GS 0x1294 + #define USB_PRODUCT_IPHONE_4 0x1297 ++#define USB_PRODUCT_IPAD 0x129a + #define USB_PRODUCT_IPHONE_4_VZW 0x129c + #define USB_PRODUCT_IPHONE_4S 0x12a0 + +@@ -101,6 +102,10 @@ static struct usb_device_id ipheth_table + IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, + IPHETH_USBINTF_PROTO) }, + { USB_DEVICE_AND_INTERFACE_INFO( ++ USB_VENDOR_APPLE, USB_PRODUCT_IPAD, ++ IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, ++ IPHETH_USBINTF_PROTO) }, ++ { USB_DEVICE_AND_INTERFACE_INFO( + USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4_VZW, + IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, + IPHETH_USBINTF_PROTO) }, diff --git a/queue-3.0/series b/queue-3.0/series index a2924e212f1..711f1da3711 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -50,3 +50,5 @@ usb-cdc-wdm-fix-lockup-on-error-in-wdm_read.patch usb-option-add-zte-mf60.patch usb-option-add-mediatek-product-ids.patch pci-ehci-fix-crash-during-suspend-on-asus-computers.patch +xhci-avoid-dead-ports-when-config_usb_xhci_hcd-n.patch +ipheth-add-support-for-ipad.patch diff --git a/queue-3.0/xhci-avoid-dead-ports-when-config_usb_xhci_hcd-n.patch b/queue-3.0/xhci-avoid-dead-ports-when-config_usb_xhci_hcd-n.patch new file mode 100644 index 00000000000..22d32df5727 --- /dev/null +++ b/queue-3.0/xhci-avoid-dead-ports-when-config_usb_xhci_hcd-n.patch @@ -0,0 +1,65 @@ +From sarah.a.sharp@linux.intel.com Wed Jul 11 14:35:39 2012 +From: Sarah Sharp +Date: Fri, 22 Jun 2012 09:51:03 -0700 +Subject: xhci: Avoid dead ports when CONFIG_USB_XHCI_HCD=n +To: stable@vger.kernel.org +Cc: Greg KH , linux-usb@vger.kernel.org, Eric Anholt , David Bein , stable-commits@vger.kernel.org +Message-ID: <20120622165103.GA1318@xanatos> +Content-Disposition: inline + +From: Sarah Sharp + +Commit 51c9e6c7732b67769c0a514d31f505e49fa82dd4 upstream, but modified +to get this to apply on 3.0. + +If the user chooses to say "no" to CONFIG_USB_XHCI_HCD on a system +with an Intel Panther Point chipset, the PCI quirks code or the EHCI +driver will switch the ports over to the xHCI host, but the xHCI driver +will never load. The ports will be powered off and seem "dead" to the +user. + +Fix this by only switching the ports over if CONFIG_USB_XHCI_HCD is +either compiled in, or compiled as a module. + +This patch should be backported to the 3.0 stable kernel, since it +contains the commit 69e848c2090aebba5698a1620604c7dccb448684 "Intel +xhci: Support EHCI/xHCI port switching." + +Signed-off-by: Sarah Sharp +Reported-by: Eric Anholt +Reported-by: David Bein +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/host/pci-quirks.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +--- a/drivers/usb/host/pci-quirks.c ++++ b/drivers/usb/host/pci-quirks.c +@@ -755,6 +755,7 @@ EXPORT_SYMBOL_GPL(usb_is_intel_switchabl + */ + void usb_enable_xhci_ports(struct pci_dev *xhci_pdev) + { ++#if defined(CONFIG_USB_XHCI_HCD) || defined(CONFIG_USB_XHCI_HCD_MODULE) + u32 ports_available; + + ports_available = 0xffffffff; +@@ -782,6 +783,18 @@ void usb_enable_xhci_ports(struct pci_de + &ports_available); + dev_dbg(&xhci_pdev->dev, "USB 2.0 ports that are now switched over " + "to xHCI: 0x%x\n", ports_available); ++#else ++ /* Don't switchover the ports if the user hasn't compiled the xHCI ++ * driver. Otherwise they will see "dead" USB ports that don't power ++ * the devices. ++ */ ++ dev_warn(&xhci_pdev->dev, ++ "CONFIG_USB_XHCI_HCD is turned off, " ++ "defaulting to EHCI.\n"); ++ dev_warn(&xhci_pdev->dev, ++ "USB 3.0 devices will work at USB 2.0 speeds.\n"); ++#endif /* CONFIG_USB_XHCI_HCD || CONFIG_USB_XHCI_HCD_MODULE */ ++ + } + EXPORT_SYMBOL_GPL(usb_enable_xhci_ports); +