diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2005-11-28 15:00:35 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-11-28 15:00:35 -0800 |
commit | 5ee9d5564f1372dcf7cb6dcfa052bd7368657f40 (patch) | |
tree | 77106b014a1411fbc9215d6a3d124b31361e8a98 /usb | |
parent | ea3ff351d2b6afdfff71b7fe59efce2f9d9fa30f (diff) | |
download | patches-5ee9d5564f1372dcf7cb6dcfa052bd7368657f40.tar.gz |
usb patch and refresh
Diffstat (limited to 'usb')
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); |