aboutsummaryrefslogtreecommitdiffstats
path: root/usb
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-11-28 15:00:35 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2005-11-28 15:00:35 -0800
commit5ee9d5564f1372dcf7cb6dcfa052bd7368657f40 (patch)
tree77106b014a1411fbc9215d6a3d124b31361e8a98 /usb
parentea3ff351d2b6afdfff71b7fe59efce2f9d9fa30f (diff)
downloadpatches-5ee9d5564f1372dcf7cb6dcfa052bd7368657f40.tar.gz
usb patch and refresh
Diffstat (limited to 'usb')
-rw-r--r--usb/usb-driver-owner-removal.patch2
-rw-r--r--usb/usb-ehci-fixups.patch76
-rw-r--r--usb/usb-ehci-updates-driver-model-wakeup-flags.patch4
-rw-r--r--usb/usbcore-central-handling-for-host-controllers-that-were-reset-during-suspend-resume.patch6
4 files changed, 82 insertions, 6 deletions
diff --git a/usb/usb-driver-owner-removal.patch b/usb/usb-driver-owner-removal.patch
index ae78bdcb59d27..017c6b73aac4e 100644
--- a/usb/usb-driver-owner-removal.patch
+++ b/usb/usb-driver-owner-removal.patch
@@ -465,7 +465,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
.disconnect = skel_disconnect,
--- gregkh-2.6.orig/drivers/usb/atm/cxacru.c
+++ gregkh-2.6/drivers/usb/atm/cxacru.c
-@@ -850,7 +850,6 @@ static int cxacru_usb_probe(struct usb_i
+@@ -853,7 +853,6 @@ static int cxacru_usb_probe(struct usb_i
}
static struct usb_driver cxacru_usb_driver = {
diff --git a/usb/usb-ehci-fixups.patch b/usb/usb-ehci-fixups.patch
new file mode 100644
index 0000000000000..9092ca80546a3
--- /dev/null
+++ b/usb/usb-ehci-fixups.patch
@@ -0,0 +1,76 @@
+From david-b@pacbell.net Mon Nov 28 08:44:20 2005
+From: David Brownell <david-b@pacbell.net>
+To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Subject: USB: ehci fixups
+Date: Mon, 28 Nov 2005 08:40:38 -0800
+Cc: Michael Buesch <mbuesch@freenet.de>, Alan Stern <stern@rowland.harvard.edu>, Greg KH <greg@kroah.com>
+Message-Id: <200511280840.39002.david-b@pacbell.net>
+
+
+Rename the EHCI "reset" routine so it better matches what it does (setup);
+and move the one-time data structure setup earlier, before doing anything
+that implicitly relies on it having been completed already.
+
+From: David Brownell <david-b@pacbell.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ehci-pci.c | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+--- gregkh-2.6.orig/drivers/usb/host/ehci-pci.c
++++ gregkh-2.6/drivers/usb/host/ehci-pci.c
+@@ -121,8 +121,8 @@ static int ehci_pci_reinit(struct ehci_h
+ return 0;
+ }
+
+-/* called by khubd or root hub (re)init threads; leaves HC in halt state */
+-static int ehci_pci_reset(struct usb_hcd *hcd)
++/* called during probe() after chip reset completes */
++static int ehci_pci_setup(struct usb_hcd *hcd)
+ {
+ struct ehci_hcd *ehci = hcd_to_ehci(hcd);
+ struct pci_dev *pdev = to_pci_dev(hcd->self.controller);
+@@ -141,6 +141,11 @@ static int ehci_pci_reset(struct usb_hcd
+ if (retval)
+ return retval;
+
++ /* data structure init */
++ retval = ehci_init(hcd);
++ if (retval)
++ return retval;
++
+ /* NOTE: only the parts below this line are PCI-specific */
+
+ switch (pdev->vendor) {
+@@ -154,7 +159,8 @@ static int ehci_pci_reset(struct usb_hcd
+ /* AMD8111 EHCI doesn't work, according to AMD errata */
+ if (pdev->device == 0x7463) {
+ ehci_info(ehci, "ignoring AMD8111 (errata)\n");
+- return -EIO;
++ retval = -EIO;
++ goto done;
+ }
+ break;
+ case PCI_VENDOR_ID_NVIDIA:
+@@ -207,9 +213,8 @@ static int ehci_pci_reset(struct usb_hcd
+ /* REVISIT: per-port wake capability (PCI 0x62) currently unused */
+
+ retval = ehci_pci_reinit(ehci, pdev);
+-
+- /* finish init */
+- return ehci_init(hcd);
++done:
++ return retval;
+ }
+
+ /*-------------------------------------------------------------------------*/
+@@ -344,7 +349,7 @@ static const struct hc_driver ehci_pci_h
+ /*
+ * basic lifecycle operations
+ */
+- .reset = ehci_pci_reset,
++ .reset = ehci_pci_setup,
+ .start = ehci_run,
+ #ifdef CONFIG_PM
+ .suspend = ehci_pci_suspend,
diff --git a/usb/usb-ehci-updates-driver-model-wakeup-flags.patch b/usb/usb-ehci-updates-driver-model-wakeup-flags.patch
index a718926ff2d97..76b53fcb73972 100644
--- a/usb/usb-ehci-updates-driver-model-wakeup-flags.patch
+++ b/usb/usb-ehci-updates-driver-model-wakeup-flags.patch
@@ -54,7 +54,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
&ehci->regs->port_status [wIndex]);
--- gregkh-2.6.orig/drivers/usb/host/ehci-pci.c
+++ gregkh-2.6/drivers/usb/host/ehci-pci.c
-@@ -204,7 +204,16 @@ static int ehci_pci_reset(struct usb_hcd
+@@ -210,7 +210,16 @@ static int ehci_pci_setup(struct usb_hcd
/* Serial Bus Release Number is at PCI 0x60 offset */
pci_read_config_byte(pdev, 0x60, &ehci->sbrn);
@@ -71,4 +71,4 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+ }
retval = ehci_pci_reinit(ehci, pdev);
-
+ done:
diff --git a/usb/usbcore-central-handling-for-host-controllers-that-were-reset-during-suspend-resume.patch b/usb/usbcore-central-handling-for-host-controllers-that-were-reset-during-suspend-resume.patch
index 0c9361261daa6..fcd99341e19af 100644
--- a/usb/usbcore-central-handling-for-host-controllers-that-were-reset-during-suspend-resume.patch
+++ b/usb/usbcore-central-handling-for-host-controllers-that-were-reset-during-suspend-resume.patch
@@ -77,7 +77,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#else
--- gregkh-2.6.orig/drivers/usb/host/ehci-pci.c
+++ gregkh-2.6/drivers/usb/host/ehci-pci.c
-@@ -271,7 +271,6 @@ static int ehci_pci_resume(struct usb_hc
+@@ -278,7 +278,6 @@ static int ehci_pci_resume(struct usb_hc
{
struct ehci_hcd *ehci = hcd_to_ehci(hcd);
unsigned port;
@@ -85,7 +85,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct pci_dev *pdev = to_pci_dev(hcd->self.controller);
int retval = -EINVAL;
-@@ -304,13 +303,7 @@ static int ehci_pci_resume(struct usb_hc
+@@ -312,13 +311,7 @@ static int ehci_pci_resume(struct usb_hc
restart:
ehci_dbg(ehci, "lost power, restarting\n");
@@ -102,7 +102,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* style "resume" having let BIOS kick in during reboot.
--- gregkh-2.6.orig/drivers/usb/host/uhci-hcd.c
+++ gregkh-2.6/drivers/usb/host/uhci-hcd.c
-@@ -740,8 +740,12 @@ static int uhci_resume(struct usb_hcd *h
+@@ -746,8 +746,12 @@ static int uhci_resume(struct usb_hcd *h
check_and_reset_hc(uhci);
configure_hc(uhci);