diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-07-14 20:38:58 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-07-14 20:38:58 -0700 |
| commit | 01c2f2a5a80ab32db41d129f3be6932a29353fd6 (patch) | |
| tree | 842bec18bb765a127cbf2fec8b7f38df032ae11c /usb.current | |
| parent | 3c6d50541ecb4a28960964ae4495ea2f2ea654e0 (diff) | |
| download | patches-01c2f2a5a80ab32db41d129f3be6932a29353fd6.tar.gz | |
2.6.26 resync
Diffstat (limited to 'usb.current')
13 files changed, 0 insertions, 649 deletions
diff --git a/usb.current/ohci-fix-problem-if-sm501-and-another-platform-driver-is-selected.patch b/usb.current/ohci-fix-problem-if-sm501-and-another-platform-driver-is-selected.patch deleted file mode 100644 index 7821beda1119b3..00000000000000 --- a/usb.current/ohci-fix-problem-if-sm501-and-another-platform-driver-is-selected.patch +++ /dev/null @@ -1,73 +0,0 @@ -From ben-linux@fluff.org Fri Jun 13 17:39:48 2008 -From: Ben Dooks <ben-linux@fluff.org> -Date: Sun, 08 Jun 2008 17:20:11 +0100 -Subject: OHCI: Fix problem if SM501 and another platform driver is selected -To: linux-usb@vger.kernel.org -Cc: Ben Dooks <ben-linux@fluff.org> -Message-ID: <20080608162011.190329883@fluff.org.uk> - -From: Ben Dooks <ben-linux@fluff.org> - -If the SM501 and another platform driver, such as the SM501 -then we end up defining PLATFORM_DRIVER twice. This patch -seperated the SM501 onto a seperate define of SM501_OHCI_DRIVER -so that it can be selected without overwriting the original -definition. - -Signed-off-by: Ben Dooks <ben-linux@fluff.org> -Acked-by: David Brownell <dbrownell@users.sourceforge.net> -Cc: stable <stable@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/host/ohci-hcd.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - ---- a/drivers/usb/host/ohci-hcd.c -+++ b/drivers/usb/host/ohci-hcd.c -@@ -1054,7 +1054,7 @@ MODULE_LICENSE ("GPL"); - - #ifdef CONFIG_MFD_SM501 - #include "ohci-sm501.c" --#define PLATFORM_DRIVER ohci_hcd_sm501_driver -+#define SM501_OHCI_DRIVER ohci_hcd_sm501_driver - #endif - - #if !defined(PCI_DRIVER) && \ -@@ -1062,6 +1062,7 @@ MODULE_LICENSE ("GPL"); - !defined(OF_PLATFORM_DRIVER) && \ - !defined(SA1111_DRIVER) && \ - !defined(PS3_SYSTEM_BUS_DRIVER) && \ -+ !defined(SM501_OHCI_DRIVER) && \ - !defined(SSB_OHCI_DRIVER) - #error "missing bus glue for ohci-hcd" - #endif -@@ -1121,9 +1122,18 @@ static int __init ohci_hcd_mod_init(void - goto error_ssb; - #endif - -+#ifdef SM501_OHCI_DRIVER -+ retval = platform_driver_register(&SM501_OHCI_DRIVER); -+ if (retval < 0) -+ goto error_sm501; -+#endif -+ - return retval; - - /* Error path */ -+#ifdef SM501_OHCI_DRIVER -+ error_sm501: -+#endif - #ifdef SSB_OHCI_DRIVER - error_ssb: - #endif -@@ -1159,6 +1169,9 @@ module_init(ohci_hcd_mod_init); - - static void __exit ohci_hcd_mod_exit(void) - { -+#ifdef SM501_OHCI_DRIVER -+ platform_driver_unregister(&SM501_OHCI_DRIVER); -+#endif - #ifdef SSB_OHCI_DRIVER - ssb_driver_unregister(&SSB_OHCI_DRIVER); - #endif diff --git a/usb.current/sisusbvga-fix-oops-on-disconnect.patch b/usb.current/sisusbvga-fix-oops-on-disconnect.patch deleted file mode 100644 index 70633160bb1875..00000000000000 --- a/usb.current/sisusbvga-fix-oops-on-disconnect.patch +++ /dev/null @@ -1,35 +0,0 @@ -From will.newton@imgtec.com Fri Jun 27 14:34:47 2008 -From: Will Newton <will.newton@imgtec.com> -Date: Fri, 27 Jun 2008 13:08:08 +0100 -Subject: sisusbvga: Fix oops on disconnect. -To: linux-kernel@vger.kernel.org -Cc: linux-usb@vger.kernel.org, felipe.lima@indt.org.br, gregkh@suse.de, Will Newton <will.newton@gmail.com> -Message-ID: <1214568488-5356-1-git-send-email-will.newton@imgtec.com> - - -From: Will Newton <will.newton@gmail.com> - -Remove dev_info call on disconnect. The sisusb_dev pointer may have been -set to zero by sisusb_delete at this point causing an oops. - -The message does not provide any extra information over the standard USB -subsystem output so removing it does not affect functionality. - -Signed-off-by: Will Newton <will.newton@gmail.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/misc/sisusbvga/sisusb.c | 2 -- - 1 file changed, 2 deletions(-) - ---- a/drivers/usb/misc/sisusbvga/sisusb.c -+++ b/drivers/usb/misc/sisusbvga/sisusb.c -@@ -3264,8 +3264,6 @@ static void sisusb_disconnect(struct usb - - /* decrement our usage count */ - kref_put(&sisusb->kref, sisusb_delete); -- -- dev_info(&sisusb->sisusb_dev->dev, "Disconnected\n"); - } - - static struct usb_device_id sisusb_table [] = { diff --git a/usb.current/usb-add-a-pl2303-device-id.patch b/usb.current/usb-add-a-pl2303-device-id.patch deleted file mode 100644 index a9bef669043799..00000000000000 --- a/usb.current/usb-add-a-pl2303-device-id.patch +++ /dev/null @@ -1,36 +0,0 @@ -From foo@baz Tue Apr 9 12:12:43 2002 -Date: Wed, 2 Jul 2008 15:25:41 -0500 (CDT) -To: Greg KH <greg@kroah.com> -From: Greg Kroah-Hartman <gregkh@suse.de> -Subject: USB: add a pl2303 device id - -As reported by Ken A Scott <kscott9@sent.com> - -Cc: Ken A Scott <kscott9@sent.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/pl2303.c | 1 + - drivers/usb/serial/pl2303.h | 1 + - 2 files changed, 2 insertions(+) - ---- a/drivers/usb/serial/pl2303.c -+++ b/drivers/usb/serial/pl2303.c -@@ -57,6 +57,7 @@ static struct usb_device_id id_table [] - { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_PHAROS) }, - { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_ALDIGA) }, - { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_MMX) }, -+ { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_GPRS) }, - { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, - { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) }, - { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID) }, ---- a/drivers/usb/serial/pl2303.h -+++ b/drivers/usb/serial/pl2303.h -@@ -15,6 +15,7 @@ - #define PL2303_PRODUCT_ID_RSAQ3 0xaaa2 - #define PL2303_PRODUCT_ID_ALDIGA 0x0611 - #define PL2303_PRODUCT_ID_MMX 0x0612 -+#define PL2303_PRODUCT_ID_GPRS 0x0609 - - #define ATEN_VENDOR_ID 0x0557 - #define ATEN_VENDOR_ID2 0x0547 diff --git a/usb.current/usb-adding-comment-for-ipaq-forcing-number-of-ports.patch b/usb.current/usb-adding-comment-for-ipaq-forcing-number-of-ports.patch deleted file mode 100644 index 993ce4e867762c..00000000000000 --- a/usb.current/usb-adding-comment-for-ipaq-forcing-number-of-ports.patch +++ /dev/null @@ -1,33 +0,0 @@ -From oliver@neukum.org Thu Jul 3 13:09:29 2008 -From: Oliver Neukum <oliver@neukum.org> -Date: Thu, 3 Jul 2008 17:14:16 +0200 -Subject: USB: adding comment for ipaq forcing number of ports -To: Adrian Bunk <bunk@kernel.org> -Cc: Greg KH <greg@kroah.com>, linux-usb@vger.kernel.org -Message-ID: <200807031714.16617.oliver@neukum.org> -Content-Disposition: inline - - -The reason for forcing a number of ports should be documented. - -Signed-off-by: Oliver Neukum <oneukum@suse.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/ipaq.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/drivers/usb/serial/ipaq.c -+++ b/drivers/usb/serial/ipaq.c -@@ -570,6 +570,11 @@ static struct usb_serial_driver ipaq_dev - .description = "PocketPC PDA", - .usb_driver = &ipaq_driver, - .id_table = ipaq_id_table, -+ /* -+ * some devices have an extra endpoint, which -+ * must be ignored as it would make the core -+ * create a second port which oopses when used -+ */ - .num_ports = 1, - .open = ipaq_open, - .close = ipaq_close, diff --git a/usb.current/usb-another-option-device-id.patch b/usb.current/usb-another-option-device-id.patch deleted file mode 100644 index 3ef3dd4c513fd4..00000000000000 --- a/usb.current/usb-another-option-device-id.patch +++ /dev/null @@ -1,25 +0,0 @@ -From foo@baz Tue Apr 9 12:12:43 2002 -Date: Tue, 1 Jul 2008 13:11:56 +0530 -To: Greg KH <greg@kroah.com> -From: Greg Kroah-Hartman <gregkh@suse.de> -Subject: USB: another option device id - -Thanks to umesh b <umesh.kollam@gmail.com> for the information here. - -Cc: umesh b <umesh.kollam@gmail.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/serial/option.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -306,6 +306,7 @@ static struct usb_device_id option_ids[] - { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_1) }, - { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_2) }, - { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) }, -+ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6000)}, /* ZTE AC8700 */ - { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */ - { USB_DEVICE(MAXON_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */ - { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) }, diff --git a/usb.current/usb-don-t-lose-disconnections-during-suspend.patch b/usb.current/usb-don-t-lose-disconnections-during-suspend.patch deleted file mode 100644 index 2c8061b12cdfbf..00000000000000 --- a/usb.current/usb-don-t-lose-disconnections-during-suspend.patch +++ /dev/null @@ -1,49 +0,0 @@ -From stern@rowland.harvard.edu Tue Jul 1 12:15:57 2008 -From: Alan Stern <stern@rowland.harvard.edu> -Date: Tue, 1 Jul 2008 10:45:51 -0400 (EDT) -Subject: USB: don't lose disconnections during suspend -To: Greg KH <greg@kroah.com> -Cc: Lukas Hejtmanek <xhejtman@ics.muni.cz>, USB list <linux-usb@vger.kernel.org> -Message-ID: <Pine.LNX.4.44L0.0807011043290.2780-100000@iolanthe.rowland.org> - - -This patch (as1111) fixes a bug in the hub driver. When a hub -resumes, disconnections that occurred while the hub was suspended are -lost. - -A completely different fix for this problem has already been accepted -for 2.6.27; however the problem still needs to be handled in 2.6.26. - -Signed-off-by: Alan Stern <stern@rowland.harvard.edu> -Tested-by: Lukas Hejtmanek <xhejtman@ics.muni.cz> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/core/hub.c | 15 ++++----------- - 1 file changed, 4 insertions(+), 11 deletions(-) - ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -713,18 +713,11 @@ static void hub_restart(struct usb_hub * - } - - /* Was the power session lost while we were suspended? */ -- switch (type) { -- case HUB_RESET_RESUME: -- portstatus = 0; -- portchange = USB_PORT_STAT_C_CONNECTION; -- break; -+ status = hub_port_status(hub, port1, &portstatus, &portchange); - -- case HUB_RESET: -- case HUB_RESUME: -- status = hub_port_status(hub, port1, -- &portstatus, &portchange); -- break; -- } -+ /* If the device is gone, khubd will handle it later */ -+ if (status == 0 && !(portstatus & USB_PORT_STAT_CONNECTION)) -+ continue; - - /* For "USB_PERSIST"-enabled children we must - * mark the child device for reset-resume and diff --git a/usb.current/usb-ehci-fix-timer-regression.patch b/usb.current/usb-ehci-fix-timer-regression.patch deleted file mode 100644 index eef9b458b02ca0..00000000000000 --- a/usb.current/usb-ehci-fix-timer-regression.patch +++ /dev/null @@ -1,63 +0,0 @@ -From david-b@pacbell.net Thu Jun 19 11:57:42 2008 -From: David Brownell <david-b@pacbell.net> -Date: Fri, 13 Jun 2008 23:56:48 -0700 -Subject: USB: ehci - fix timer regression -To: Greg KH <greg@kroah.com> -Message-ID: <200806132356.48712.david-b@pacbell.net> -Content-Disposition: inline - - -This patch fixes a regression in the EHCI driver's TIMER_IO_WATCHDOG -behavior. The patch "USB: EHCI: add separate IAA watchdog timer" changed -how that timer is handled, so that short timeouts on the remaining -timer (unfortunately, overloaded) would never be used. - -This takes a more direct approach, reorganizing the code slightly to -be explicit about only the I/O watchdog role now being overridable. -It also replaces a now-obsolete comment describing older timer behavior. - -Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> -Cc: Alan Stern <stern@rowland.harvard.edu> -Cc: Leonid <leonidv11@gmail.com> -Cc: stable <stable@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/host/ehci.h | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - ---- a/drivers/usb/host/ehci.h -+++ b/drivers/usb/host/ehci.h -@@ -177,6 +177,15 @@ timer_action_done (struct ehci_hcd *ehci - static inline void - timer_action (struct ehci_hcd *ehci, enum ehci_timer_action action) - { -+ /* Don't override timeouts which shrink or (later) disable -+ * the async ring; just the I/O watchdog. Note that if a -+ * SHRINK were pending, OFF would never be requested. -+ */ -+ if (timer_pending(&ehci->watchdog) -+ && ((BIT(TIMER_ASYNC_SHRINK) | BIT(TIMER_ASYNC_OFF)) -+ & ehci->actions)) -+ return; -+ - if (!test_and_set_bit (action, &ehci->actions)) { - unsigned long t; - -@@ -192,15 +201,7 @@ timer_action (struct ehci_hcd *ehci, enu - t = EHCI_SHRINK_JIFFIES; - break; - } -- t += jiffies; -- // all timings except IAA watchdog can be overridden. -- // async queue SHRINK often precedes IAA. while it's ready -- // to go OFF neither can matter, and afterwards the IO -- // watchdog stops unless there's still periodic traffic. -- if (time_before_eq(t, ehci->watchdog.expires) -- && timer_pending (&ehci->watchdog)) -- return; -- mod_timer (&ehci->watchdog, t); -+ mod_timer(&ehci->watchdog, t + jiffies); - } - } - diff --git a/usb.current/usb-fix-cdc-acm-resume.patch b/usb.current/usb-fix-cdc-acm-resume.patch deleted file mode 100644 index 9bcdddde2969b8..00000000000000 --- a/usb.current/usb-fix-cdc-acm-resume.patch +++ /dev/null @@ -1,33 +0,0 @@ -From oliver@neukum.org Thu Jun 19 12:06:07 2008 -From: Oliver Neukum <oliver@neukum.org> -Date: Tue, 17 Jun 2008 22:30:48 +0200 -Subject: USB: fix cdc-acm resume() -To: greg kh <greg@kroah.com>, Linux USB <linux-usb@vger.kernel.org> -Message-ID: <200806172230.49447.oliver@neukum.org> -Content-Disposition: inline - - -cdc-acm has -- a memory leak in resume() -- will fail to reactivate the read code path if this is needed. -his corrects it by deleting the useless relict code. - -Signed-off-by: Oliver Neukum <oneukum@suse.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/class/cdc-acm.c | 3 --- - 1 file changed, 3 deletions(-) - ---- a/drivers/usb/class/cdc-acm.c -+++ b/drivers/usb/class/cdc-acm.c -@@ -1125,9 +1125,6 @@ static void stop_data_traffic(struct acm - for (i = 0; i < acm->rx_buflimit; i++) - usb_kill_urb(acm->ru[i].urb); - -- INIT_LIST_HEAD(&acm->filled_read_bufs); -- INIT_LIST_HEAD(&acm->spare_read_bufs); -- - tasklet_enable(&acm->urb_task); - - cancel_work_sync(&acm->work); diff --git a/usb.current/usb-fix-interrupt-disabling-for-hcds-with-shared-interrupt-handlers.patch b/usb.current/usb-fix-interrupt-disabling-for-hcds-with-shared-interrupt-handlers.patch deleted file mode 100644 index d8c88d334ce6f0..00000000000000 --- a/usb.current/usb-fix-interrupt-disabling-for-hcds-with-shared-interrupt-handlers.patch +++ /dev/null @@ -1,95 +0,0 @@ -From Stefan.Becker@nokia.com Tue Jul 1 12:14:33 2008 -From: Stefan Becker <Stefan.Becker@nokia.com> -Date: Tue, 01 Jul 2008 19:19:22 +0300 -Subject: USB: fix interrupt disabling for HCDs with shared interrupt handlers -To: ext Alan Stern <stern@rowland.harvard.edu>, linux-usb@vger.kernel.org, ext Greg Kroah-Hartman <gregkh@suse.de> -Cc: ext David Brownell <david-b@pacbell.net>, linux-kernel@vger.kernel.org, Linus Torvalds <torvalds@linux-foundation.org>, ext Leonardo Chiquitto <leonardo.lists@gmail.com> -Message-ID: <486A590A.4090806@nokia.com> - -USB: fix interrupt disabling for HCDs with shared interrupt handlers - -As has been discussed several times on LKML, IRQF_SHARED | IRQF_DISABLED -doesn't work reliably, i.e. a shared interrupt handler CAN'T be certain to -be called with interrupts disabled. Most USB HCD handlers use IRQF_DISABLED -and therefore havoc can break out if they share their interrupt with a -handler that doesn't use it. - -On my test machine the yenta_socket interrupt handler (no IRQF_DISABLED) -was registered before ehci_hcd and one uhci_hcd instance. Therefore all -usb_hcd_irq() invocations for ehci_hcd and for one uhci_hcd instance -happened with interrupts enabled. That led to random lockups as USB core -HCD functions that acquire the same spinlock could be called twice -from interrupt handlers. - -This patch updates usb_hcd_irq() to always disable/restore interrupts. -usb_add_hcd() will silently remove any IRQF_DISABLED requested from HCD code. - -Signed-off-by: Stefan Becker <stefan.becker@nokia.com> -Cc: stable <stable@kernel.org> -Acked-by: David Brownell <david-b@pacbell.net> -Acked-by: Alan Stern <stern@rowland.harvard.edu> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/core/hcd.c | 42 ++++++++++++++++++++++++++++++------------ - 1 file changed, 30 insertions(+), 12 deletions(-) - ---- a/drivers/usb/core/hcd.c -+++ b/drivers/usb/core/hcd.c -@@ -1684,19 +1684,30 @@ EXPORT_SYMBOL_GPL(usb_bus_start_enum); - irqreturn_t usb_hcd_irq (int irq, void *__hcd) - { - struct usb_hcd *hcd = __hcd; -- int start = hcd->state; -+ unsigned long flags; -+ irqreturn_t rc; - -- if (unlikely(start == HC_STATE_HALT || -- !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) -- return IRQ_NONE; -- if (hcd->driver->irq (hcd) == IRQ_NONE) -- return IRQ_NONE; -- -- set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); -- -- if (unlikely(hcd->state == HC_STATE_HALT)) -- usb_hc_died (hcd); -- return IRQ_HANDLED; -+ /* IRQF_DISABLED doesn't work correctly with shared IRQs -+ * when the first handler doesn't use it. So let's just -+ * assume it's never used. -+ */ -+ local_irq_save(flags); -+ -+ if (unlikely(hcd->state == HC_STATE_HALT || -+ !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) { -+ rc = IRQ_NONE; -+ } else if (hcd->driver->irq(hcd) == IRQ_NONE) { -+ rc = IRQ_NONE; -+ } else { -+ set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); -+ -+ if (unlikely(hcd->state == HC_STATE_HALT)) -+ usb_hc_died(hcd); -+ rc = IRQ_HANDLED; -+ } -+ -+ local_irq_restore(flags); -+ return rc; - } - - /*-------------------------------------------------------------------------*/ -@@ -1860,6 +1871,13 @@ int usb_add_hcd(struct usb_hcd *hcd, - - /* enable irqs just before we start the controller */ - if (hcd->driver->irq) { -+ -+ /* IRQF_DISABLED doesn't work as advertised when used together -+ * with IRQF_SHARED. As usb_hcd_irq() will always disable -+ * interrupts we can remove it here. -+ */ -+ irqflags &= ~IRQF_DISABLED; -+ - snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d", - hcd->driver->description, hcd->self.busnum); - if ((retval = request_irq(irqnum, &usb_hcd_irq, irqflags, diff --git a/usb.current/usb-fix-oops-on-loading-ipaq-module-since-2.6.26.patch b/usb.current/usb-fix-oops-on-loading-ipaq-module-since-2.6.26.patch deleted file mode 100644 index d365689a683aaf..00000000000000 --- a/usb.current/usb-fix-oops-on-loading-ipaq-module-since-2.6.26.patch +++ /dev/null @@ -1,30 +0,0 @@ -From oliver@neukum.org Thu Jul 3 13:08:17 2008 -From: Oliver Neukum <oliver@neukum.org> -Date: Thu, 3 Jul 2008 10:05:57 +0200 -Subject: USB: fix Oops on loading ipaq module since 2.6.26 -To: Adam Williamson <awilliamson@mandriva.com> -Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, Adrian Bunk <bunk@kernel.org>, Arjan van de Ven <arjan@infradead.org>, "Rafael J. Wysocki" <rjw@sisk.pl>, Alan Cox <alan@redhat.com>, bugme-daemon@bugzilla.kernel.org, Greg KH <greg@kroah.com>, linux-usb@vger.kernel.org -Message-ID: <200807031005.59691.oliver@neukum.org> -Content-Disposition: inline - -Fixes bugzilla.kernel.org #10868 - -Signed-off-by: Oliver Neukum <oneukum@suse.de> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/usb/serial/ipaq.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/serial/ipaq.c -+++ b/drivers/usb/serial/ipaq.c -@@ -570,7 +570,7 @@ static struct usb_serial_driver ipaq_dev - .description = "PocketPC PDA", - .usb_driver = &ipaq_driver, - .id_table = ipaq_id_table, -- .num_ports = 2, -+ .num_ports = 1, - .open = ipaq_open, - .close = ipaq_close, - .attach = ipaq_startup, diff --git a/usb.current/usb-mass-storage-new-id-for-us_sc_cyp_atacb.patch b/usb.current/usb-mass-storage-new-id-for-us_sc_cyp_atacb.patch deleted file mode 100644 index 17b502ebcd5234..00000000000000 --- a/usb.current/usb-mass-storage-new-id-for-us_sc_cyp_atacb.patch +++ /dev/null @@ -1,41 +0,0 @@ -From castet.matthieu@free.fr Thu Jun 19 13:21:53 2008 -From: matthieu castet <castet.matthieu@free.fr> -Date: Mon, 16 Jun 2008 19:49:06 +0200 -Subject: USB: mass storage: new id for US_SC_CYP_ATACB -To: linux-usb@vger.kernel.org -Message-ID: <4856A792.5020007@free.fr> - - - -CY7C68310 chip also support cypress atacb "ATA command" pass_thru. - - -Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/storage/unusual_devs.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/drivers/usb/storage/unusual_devs.h -+++ b/drivers/usb/storage/unusual_devs.h -@@ -402,11 +402,19 @@ UNUSUAL_DEV( 0x04a5, 0x3010, 0x0100, 0x - US_FL_IGNORE_RESIDUE ), - - #ifdef CONFIG_USB_STORAGE_CYPRESS_ATACB -+/* CY7C68300 : support atacb */ - UNUSUAL_DEV( 0x04b4, 0x6830, 0x0000, 0x9999, - "Cypress", - "Cypress AT2LP", - US_SC_CYP_ATACB, US_PR_DEVICE, NULL, - 0), -+ -+/* CY7C68310 : support atacb and atacb2 */ -+UNUSUAL_DEV( 0x04b4, 0x6831, 0x0000, 0x9999, -+ "Cypress", -+ "Cypress ISD-300LP", -+ US_SC_CYP_ATACB, US_PR_DEVICE, NULL, -+ 0), - #endif - - /* Reported by Simon Levitt <simon@whattf.com> diff --git a/usb.current/usb-new-device-id-for-ftdi_sio-driver.patch b/usb.current/usb-new-device-id-for-ftdi_sio-driver.patch deleted file mode 100644 index 075546fde1e358..00000000000000 --- a/usb.current/usb-new-device-id-for-ftdi_sio-driver.patch +++ /dev/null @@ -1,67 +0,0 @@ -From hellan@acm.org Fri Jun 27 15:17:23 2008 -From: Jon K Hellan <hellan@acm.org> -Date: Tue, 24 Jun 2008 11:43:13 +0200 -Subject: USB: New device ID for ftdi_sio driver -To: linux-usb@vger.kernel.org -Message-ID: <4860C1B1.4060001@acm.org> - -From: Jon K Hellan <hellan@acm.org> - -Here's a new device ID for the ftdio_sio driver. -The diff is with linus's tree as of this morning. - -The device is the RigExpert Tiny USB Soundcard Transceiver Interface for ham -radio. - -(I didn't actually test this. A fellow ham couldn't get the device to work, and -I suggested binding the device ID using sysfs - see -"http://jk.ufisa.uninett.no/usb/". However, he had had moved on to other things -by then. I guess adding the device ID to the kernel "on spec" won't hurt. -The relevant part of cat /proc/bus/usb/devices shows: - -T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 -P: Vendor=0403 ProdID=ed22 Rev= 5.00 -S: Manufacturer=FTDI -S: Product=MixW RigExpert Tiny -S: SerialNumber=00000000 -C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA -I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) -E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms -E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms -I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) -E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms -E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms -) - -From: Jon K Hellan <hellan@acm.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - - ---- - drivers/usb/serial/ftdi_sio.c | 1 + - drivers/usb/serial/ftdi_sio.h | 3 +++ - 2 files changed, 4 insertions(+) - ---- a/drivers/usb/serial/ftdi_sio.c -+++ b/drivers/usb/serial/ftdi_sio.c -@@ -637,6 +637,7 @@ static struct usb_device_id id_table_com - { USB_DEVICE(FTDI_VID, FTDI_OOCDLINK_PID), - .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, - { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID_USB60F) }, -+ { USB_DEVICE(FTDI_VID, FTDI_REU_TINY_PID) }, - { }, /* Optional parameter entry */ - { } /* Terminating entry */ - }; ---- a/drivers/usb/serial/ftdi_sio.h -+++ b/drivers/usb/serial/ftdi_sio.h -@@ -828,6 +828,9 @@ - /* Propox devices */ - #define FTDI_PROPOX_JTAGCABLEII_PID 0xD738 - -+/* Rig Expert Ukraine devices */ -+#define FTDI_REU_TINY_PID 0xED22 /* RigExpert Tiny */ -+ - /* Commands */ - #define FTDI_SIO_RESET 0 /* Reset the port */ - #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ diff --git a/usb.current/usb-ohci-record-data-toggle-after-unlink.patch b/usb.current/usb-ohci-record-data-toggle-after-unlink.patch deleted file mode 100644 index 3c3305c95d8aa9..00000000000000 --- a/usb.current/usb-ohci-record-data-toggle-after-unlink.patch +++ /dev/null @@ -1,69 +0,0 @@ -From david-b@pacbell.net Thu Jun 19 11:58:10 2008 -From: David Brownell <david-b@pacbell.net> -Date: Fri, 13 Jun 2008 23:59:54 -0700 -Subject: USB: ohci - record data toggle after unlink -To: Greg KH <greg@kroah.com> -Message-ID: <200806132359.54466.david-b@pacbell.net> -Content-Disposition: inline - - -From: David Brownell <dbrownell@users.sourceforge.net> - -This patch fixes a problem with OHCI where canceling bulk or -interrupt URBs may lose track of the right data toggle. This -seems to be a longstanding bug, possibly dating back to the -Linux 2.4 kernel, which stayed hidden because - - (a) about half the time the data toggle bit was correct; - (b) canceling such URBs is unusual; and - (c) the few drivers which cancel these URBs either - [1] do it only as part of shutting down, or - [2] have fault recovery logic, which recovers. - -For those transfer types, the toggle is normally written back -into the ED when each TD is retired. But canceling bypasses -the mechanism used to retire TDs ... so on average, half the -time the toggle bit will be invalid after cancelation. - -The fix is simple: the toggle state of any canceled TDs are -propagated back to the ED in the finish_unlinks function. - -(Issue found by leonidv11@gmail.com ...) - -Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> -Cc: Leonid <leonidv11@gmail.com> -Cc: stable <stable@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/usb/host/ohci-q.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - ---- a/drivers/usb/host/ohci-q.c -+++ b/drivers/usb/host/ohci-q.c -@@ -952,6 +952,7 @@ rescan_this: - struct urb *urb; - urb_priv_t *urb_priv; - __hc32 savebits; -+ u32 tdINFO; - - td = list_entry (entry, struct td, td_list); - urb = td->urb; -@@ -966,6 +967,17 @@ rescan_this: - savebits = *prev & ~cpu_to_hc32 (ohci, TD_MASK); - *prev = td->hwNextTD | savebits; - -+ /* If this was unlinked, the TD may not have been -+ * retired ... so manually save the data toggle. -+ * The controller ignores the value we save for -+ * control and ISO endpoints. -+ */ -+ tdINFO = hc32_to_cpup(ohci, &td->hwINFO); -+ if ((tdINFO & TD_T) == TD_T_DATA0) -+ ed->hwHeadP &= ~cpu_to_hc32(ohci, ED_C); -+ else if ((tdINFO & TD_T) == TD_T_DATA1) -+ ed->hwHeadP |= cpu_to_hc32(ohci, ED_C); -+ - /* HC may have partly processed this TD */ - td_done (ohci, urb, td); - urb_priv->td_cnt++; |
