aboutsummaryrefslogtreecommitdiffstats
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2008-07-14 20:38:58 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2008-07-14 20:38:58 -0700
commit01c2f2a5a80ab32db41d129f3be6932a29353fd6 (patch)
tree842bec18bb765a127cbf2fec8b7f38df032ae11c
parent3c6d50541ecb4a28960964ae4495ea2f2ea654e0 (diff)
downloadpatches-01c2f2a5a80ab32db41d129f3be6932a29353fd6.tar.gz
2.6.26 resync
-rw-r--r--driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch2
-rw-r--r--driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch4
-rw-r--r--driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch2
-rw-r--r--series26
-rw-r--r--usb.current/ohci-fix-problem-if-sm501-and-another-platform-driver-is-selected.patch73
-rw-r--r--usb.current/sisusbvga-fix-oops-on-disconnect.patch35
-rw-r--r--usb.current/usb-add-a-pl2303-device-id.patch36
-rw-r--r--usb.current/usb-adding-comment-for-ipaq-forcing-number-of-ports.patch33
-rw-r--r--usb.current/usb-another-option-device-id.patch25
-rw-r--r--usb.current/usb-don-t-lose-disconnections-during-suspend.patch49
-rw-r--r--usb.current/usb-ehci-fix-timer-regression.patch63
-rw-r--r--usb.current/usb-fix-cdc-acm-resume.patch33
-rw-r--r--usb.current/usb-fix-interrupt-disabling-for-hcds-with-shared-interrupt-handlers.patch95
-rw-r--r--usb.current/usb-fix-oops-on-loading-ipaq-module-since-2.6.26.patch30
-rw-r--r--usb.current/usb-mass-storage-new-id-for-us_sc_cyp_atacb.patch41
-rw-r--r--usb.current/usb-new-device-id-for-ftdi_sio-driver.patch67
-rw-r--r--usb.current/usb-ohci-record-data-toggle-after-unlink.patch69
-rw-r--r--usb/usb-add-new-routine-for-checking-port-resume-type.patch22
-rw-r--r--usb/usb-au1xxx-usb-clean-up-ohci-ehci-bus-glue-sources.patch4
-rw-r--r--usb/usb-au1xxx-usb-suspend-resume-support.patch2
-rw-r--r--usb/usb-combine-hub_activate-and-hub_restart.patch4
-rw-r--r--usb/usb-combine-hub_quiesce-and-hub_stop.patch4
-rw-r--r--usb/usb-debounce-before-unregistering.patch4
-rw-r--r--usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch20
-rw-r--r--usb/usb-force-unbinding-of-drivers-lacking-reset_resume-or-other-methods.patch6
-rw-r--r--usb/usb-handle-pci_name-being-const.patch4
-rw-r--r--usb/usb-missing-usb_put_hcd-to-ohci-at91.patch2
-rw-r--r--usb/usb-optimize-port-debouncing-during-hub-activation.patch2
-rw-r--r--usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch10
-rw-r--r--usb/usb-simplify-hub_restart-logic.patch17
-rw-r--r--usb/usb-try-to-salvage-lost-power-sessions.patch10
-rw-r--r--usb/usb-usb-dev_name-instead-of-dev-bus_id.patch10
-rw-r--r--version2
33 files changed, 75 insertions, 731 deletions
diff --git a/driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch
index 13cd18c3c37130..e2488b3b05cb52 100644
--- a/driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch
+++ b/driver-core/device-create-block-convert-device_create-to-device_create_drvdata.patch
@@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/block/bsg.c
+++ b/block/bsg.c
-@@ -1019,7 +1019,8 @@ int bsg_register_queue(struct request_qu
+@@ -1020,7 +1020,8 @@ int bsg_register_queue(struct request_qu
bcd->release = release;
kref_init(&bcd->ref);
dev = MKDEV(bsg_major, bcd->minor);
diff --git a/driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch b/driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch
index b5d2828f353564..aa5b567ba4b0b1 100644
--- a/driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch
+++ b/driver-core/device-create-spi-convert-device_create-to-device_create_drvdata.patch
@@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -575,7 +575,8 @@ static int spidev_probe(struct spi_devic
+@@ -573,7 +573,8 @@ static int spidev_probe(struct spi_devic
struct device *dev;
spidev->devt = MKDEV(SPIDEV_MAJOR, minor);
@@ -32,7 +32,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
"spidev%d.%d",
spi->master->bus_num, spi->chip_select);
status = IS_ERR(dev) ? PTR_ERR(dev) : 0;
-@@ -585,7 +586,6 @@ static int spidev_probe(struct spi_devic
+@@ -583,7 +584,6 @@ static int spidev_probe(struct spi_devic
}
if (status == 0) {
set_bit(minor, minors);
diff --git a/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch b/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch
index 9a2625e107a386..e0d5f086f7f2b4 100644
--- a/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch
+++ b/driver-core/driver-core-add-ability-for-class_find_device-to-start-in-middle-of-list.patch
@@ -118,7 +118,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
ne = container_of(dev, struct node_entry, node_dev);
--- a/drivers/rtc/interface.c
+++ b/drivers/rtc/interface.c
-@@ -265,7 +265,7 @@ struct rtc_device *rtc_class_open(char *
+@@ -345,7 +345,7 @@ struct rtc_device *rtc_class_open(char *
struct device *dev;
struct rtc_device *rtc = NULL;
diff --git a/series b/series
index 29b120b73e83b5..65629a814edeea 100644
--- a/series
+++ b/series
@@ -18,19 +18,19 @@ driver-core.current/kobject-fix-kobject_rename-and-config_sysfs.patch
#################################
# USB patches for 2.6.26
#################################
-usb.current/ohci-fix-problem-if-sm501-and-another-platform-driver-is-selected.patch
-usb.current/usb-fix-cdc-acm-resume.patch
-usb.current/usb-ehci-fix-timer-regression.patch
-usb.current/usb-ohci-record-data-toggle-after-unlink.patch
-usb.current/usb-mass-storage-new-id-for-us_sc_cyp_atacb.patch
-usb.current/sisusbvga-fix-oops-on-disconnect.patch
-usb.current/usb-new-device-id-for-ftdi_sio-driver.patch
-usb.current/usb-fix-interrupt-disabling-for-hcds-with-shared-interrupt-handlers.patch
-usb.current/usb-don-t-lose-disconnections-during-suspend.patch
-usb.current/usb-another-option-device-id.patch
-usb.current/usb-add-a-pl2303-device-id.patch
-usb.current/usb-fix-oops-on-loading-ipaq-module-since-2.6.26.patch
-usb.current/usb-adding-comment-for-ipaq-forcing-number-of-ports.patch
+#usb.current/ohci-fix-problem-if-sm501-and-another-platform-driver-is-selected.patch
+#usb.current/usb-fix-cdc-acm-resume.patch
+#usb.current/usb-ehci-fix-timer-regression.patch
+#usb.current/usb-ohci-record-data-toggle-after-unlink.patch
+#usb.current/usb-mass-storage-new-id-for-us_sc_cyp_atacb.patch
+#usb.current/sisusbvga-fix-oops-on-disconnect.patch
+#usb.current/usb-new-device-id-for-ftdi_sio-driver.patch
+#usb.current/usb-fix-interrupt-disabling-for-hcds-with-shared-interrupt-handlers.patch
+#usb.current/usb-don-t-lose-disconnections-during-suspend.patch
+#usb.current/usb-another-option-device-id.patch
+#usb.current/usb-add-a-pl2303-device-id.patch
+#usb.current/usb-fix-oops-on-loading-ipaq-module-since-2.6.26.patch
+#usb.current/usb-adding-comment-for-ipaq-forcing-number-of-ports.patch
#####################################################################
# Stuff to be merged after 2.6.26 is out
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++;
diff --git a/usb/usb-add-new-routine-for-checking-port-resume-type.patch b/usb/usb-add-new-routine-for-checking-port-resume-type.patch
index a8008b22912cdd..2471d3e171e7a5 100644
--- a/usb/usb-add-new-routine-for-checking-port-resume-type.patch
+++ b/usb/usb-add-new-routine-for-checking-port-resume-type.patch
@@ -24,8 +24,8 @@ Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
- drivers/usb/core/hub.c | 90 ++++++++++++++++++++++++++++++++++---------------
- 1 file changed, 63 insertions(+), 27 deletions(-)
+ drivers/usb/core/hub.c | 89 ++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 63 insertions(+), 26 deletions(-)
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -83,7 +83,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* Skip the initial Clear-Suspend step for a remote wakeup */
status = hub_port_status(hub, port1, &portstatus, &portchange);
-@@ -2054,33 +2092,20 @@ int usb_port_resume(struct usb_device *u
+@@ -2054,35 +2092,23 @@ int usb_port_resume(struct usb_device *u
*/
status = hub_port_status(hub, port1, &portstatus, &portchange);
@@ -96,7 +96,10 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- | USB_PORT_STAT_CONNECTION
- | USB_PORT_STAT_ENABLE;
- mask_flags = want_flags | USB_PORT_STAT_SUSPEND;
--
++ /* TRSMRCY = 10 msec */
++ msleep(10);
++ }
+
- if (status < 0 || (portstatus & mask_flags) != want_flags) {
- dev_dbg(hub->intfdev,
- "port %d status %04x.%04x after resume, %d\n",
@@ -110,24 +113,23 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- /* TRSMRCY = 10 msec */
- msleep(10);
- }
-+ /* TRSMRCY = 10 msec */
-+ msleep(10);
- }
-
+ SuspendCleared:
+ if (status == 0) {
+ if (portchange & USB_PORT_STAT_C_SUSPEND)
+ clear_port_feature(hub->hdev, port1,
+ USB_PORT_FEAT_C_SUSPEND);
-+ }
+ }
+
clear_bit(port1, hub->busy_bits);
+ if (!hub->hdev->parent && !hub->busy_bits[0])
+ usb_enable_root_hub_irq(hub->hdev->bus);
+ status = check_port_resume_type(udev,
+ hub, port1, status, portchange, portstatus);
if (status == 0)
status = finish_port_resume(udev);
if (status < 0) {
-@@ -2113,12 +2138,23 @@ int usb_port_suspend(struct usb_device *
+@@ -2115,12 +2141,23 @@ int usb_port_suspend(struct usb_device *
return 0;
}
diff --git a/usb/usb-au1xxx-usb-clean-up-ohci-ehci-bus-glue-sources.patch b/usb/usb-au1xxx-usb-clean-up-ohci-ehci-bus-glue-sources.patch
index cd4041de667e8a..45581b508b7ca1 100644
--- a/usb/usb-au1xxx-usb-clean-up-ohci-ehci-bus-glue-sources.patch
+++ b/usb/usb-au1xxx-usb-clean-up-ohci-ehci-bus-glue-sources.patch
@@ -650,7 +650,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static const struct hc_driver ohci_au1xxx_hc_driver = {
.description = hcd_name,
.product_desc = "Au1xxx OHCI",
-@@ -295,18 +170,66 @@ static const struct hc_driver ohci_au1xx
+@@ -296,18 +171,66 @@ static const struct hc_driver ohci_au1xx
.start_port_reset = ohci_start_port_reset,
};
@@ -722,7 +722,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return ret;
}
-@@ -314,9 +237,16 @@ static int ohci_hcd_au1xxx_drv_remove(st
+@@ -315,9 +238,16 @@ static int ohci_hcd_au1xxx_drv_remove(st
{
struct usb_hcd *hcd = platform_get_drvdata(pdev);
diff --git a/usb/usb-au1xxx-usb-suspend-resume-support.patch b/usb/usb-au1xxx-usb-suspend-resume-support.patch
index 6a0807d4d0f216..48ab159c3e287a 100644
--- a/usb/usb-au1xxx-usb-suspend-resume-support.patch
+++ b/usb/usb-au1xxx-usb-suspend-resume-support.patch
@@ -162,7 +162,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
.owner = THIS_MODULE,
--- a/drivers/usb/host/ohci-au1xxx.c
+++ b/drivers/usb/host/ohci-au1xxx.c
-@@ -247,27 +247,68 @@ static int ohci_hcd_au1xxx_drv_remove(st
+@@ -248,27 +248,68 @@ static int ohci_hcd_au1xxx_drv_remove(st
return 0;
}
diff --git a/usb/usb-combine-hub_activate-and-hub_restart.patch b/usb/usb-combine-hub_activate-and-hub_restart.patch
index 21d33a14bff817..e8383a86eaa64a 100644
--- a/usb/usb-combine-hub_activate-and-hub_restart.patch
+++ b/usb/usb-combine-hub_activate-and-hub_restart.patch
@@ -109,7 +109,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return 0;
fail:
-@@ -2175,7 +2173,7 @@ static int hub_resume(struct usb_interfa
+@@ -2178,7 +2176,7 @@ static int hub_resume(struct usb_interfa
struct usb_hub *hub = usb_get_intfdata(intf);
dev_dbg(&intf->dev, "%s\n", __func__);
@@ -118,7 +118,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return 0;
}
-@@ -2184,8 +2182,7 @@ static int hub_reset_resume(struct usb_i
+@@ -2187,8 +2185,7 @@ static int hub_reset_resume(struct usb_i
struct usb_hub *hub = usb_get_intfdata(intf);
dev_dbg(&intf->dev, "%s\n", __func__);
diff --git a/usb/usb-combine-hub_quiesce-and-hub_stop.patch b/usb/usb-combine-hub_quiesce-and-hub_stop.patch
index 0a96428e2bc746..6966c43739085c 100644
--- a/usb/usb-combine-hub_quiesce-and-hub_stop.patch
+++ b/usb/usb-combine-hub_quiesce-and-hub_stop.patch
@@ -112,7 +112,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
usb_set_intfdata (intf, NULL);
-@@ -2164,7 +2165,7 @@ static int hub_suspend(struct usb_interf
+@@ -2167,7 +2168,7 @@ static int hub_suspend(struct usb_interf
dev_dbg(&intf->dev, "%s\n", __func__);
/* stop khubd and related activity */
@@ -121,7 +121,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return 0;
}
-@@ -2911,7 +2912,7 @@ static void hub_events(void)
+@@ -2914,7 +2915,7 @@ static void hub_events(void)
/* If the hub has died, clean up after it */
if (hdev->state == USB_STATE_NOTATTACHED) {
hub->error = -ENODEV;
diff --git a/usb/usb-debounce-before-unregistering.patch b/usb/usb-debounce-before-unregistering.patch
index 7888dc90007fce..d164430267c70d 100644
--- a/usb/usb-debounce-before-unregistering.patch
+++ b/usb/usb-debounce-before-unregistering.patch
@@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -2670,9 +2670,10 @@ static void hub_port_connect_change(stru
+@@ -2673,9 +2673,10 @@ static void hub_port_connect_change(stru
struct usb_device *hdev = hub->hdev;
struct device *hub_dev = hub->intfdev;
struct usb_hcd *hcd = bus_to_hcd(hdev->bus);
@@ -44,7 +44,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
dev_dbg (hub_dev,
"port %d, status %04x, change %04x, %s\n",
port1, portstatus, portchange, portspeed (portstatus));
-@@ -2681,30 +2682,36 @@ static void hub_port_connect_change(stru
+@@ -2684,30 +2685,36 @@ static void hub_port_connect_change(stru
set_port_led(hub, port1, HUB_LED_AUTO);
hub->indicator[port1-1] = INDICATOR_AUTO;
}
diff --git a/usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch b/usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch
index 8e10b4ccd083ab..4160fbd753106b 100644
--- a/usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch
+++ b/usb/usb-fix-usb_reset_device-and-usb_reset_composite_device.patch
@@ -85,7 +85,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
* every effort to insure that the same device is present after the
* reset as before, it cannot provide a 100% guarantee. Furthermore it's
* quite possible for a device to remain unaltered but its media to be
-@@ -2137,7 +2139,7 @@ int usb_port_resume(struct usb_device *u
+@@ -2140,7 +2142,7 @@ int usb_port_resume(struct usb_device *u
hub_port_logical_disconnect(hub, port1);
} else if (udev->reset_resume) {
dev_dbg(&udev->dev, "reset-resume\n");
@@ -94,7 +94,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
}
return status;
}
-@@ -2318,7 +2320,7 @@ static int hub_set_address(struct usb_de
+@@ -2321,7 +2323,7 @@ static int hub_set_address(struct usb_de
* Returns device in USB_STATE_ADDRESS, except on error.
*
* If this is called for an already-existing device (as part of
@@ -103,7 +103,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
* newly detected device that is not accessible through any global
* pointers, it's not necessary to lock the device.
*/
-@@ -2635,7 +2637,7 @@ hub_power_remaining (struct usb_hub *hub
+@@ -2638,7 +2640,7 @@ hub_power_remaining (struct usb_hub *hub
* This routine is called when:
* a port connection-change occurs;
* a port enable-change occurs (often caused by EMI);
@@ -112,7 +112,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
* a firmware download)
* caller already locked the hub
*/
-@@ -2709,7 +2711,7 @@ static void hub_port_connect_change(stru
+@@ -2712,7 +2714,7 @@ static void hub_port_connect_change(stru
#endif
} else {
@@ -121,7 +121,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
}
usb_unlock_device(udev);
-@@ -2937,7 +2939,7 @@ static void hub_events(void)
+@@ -2940,7 +2942,7 @@ static void hub_events(void)
dev_dbg (hub_dev, "resetting for error %d\n",
hub->error);
@@ -130,7 +130,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
if (ret) {
dev_dbg (hub_dev,
"error resetting hub: %d\n", ret);
-@@ -3225,12 +3227,12 @@ static int descriptors_changed(struct us
+@@ -3235,12 +3237,12 @@ static int descriptors_changed(struct us
}
/**
@@ -145,7 +145,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
*
* Do a port reset, reassign the device's address, and establish its
* former operating configuration. If the reset fails, or the device's
-@@ -3254,7 +3256,7 @@ static int descriptors_changed(struct us
+@@ -3264,7 +3266,7 @@ static int descriptors_changed(struct us
* holding the device lock because these tasks should always call
* usb_autopm_resume_device(), thereby preventing any unwanted autoresume.
*/
@@ -154,7 +154,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
{
struct usb_device *parent_hdev = udev->parent;
struct usb_hub *parent_hub;
-@@ -3340,24 +3342,23 @@ re_enumerate:
+@@ -3352,24 +3354,23 @@ re_enumerate:
hub_port_logical_disconnect(parent_hub, port1);
return -ENODEV;
}
@@ -182,7 +182,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
{
int ret;
int i;
-@@ -3387,7 +3388,7 @@ int usb_reset_composite_device(struct us
+@@ -3399,7 +3400,7 @@ int usb_reset_composite_device(struct us
}
}
@@ -191,7 +191,7 @@ Signed-off-by: Ming Lei <tom.leiming@gmail.com>
if (config) {
for (i = config->desc.bNumInterfaces - 1; i >= 0; --i) {
-@@ -3406,4 +3407,4 @@ int usb_reset_composite_device(struct us
+@@ -3418,4 +3419,4 @@ int usb_reset_composite_device(struct us
usb_autosuspend_device(udev);
return ret;
}
diff --git a/usb/usb-force-unbinding-of-drivers-lacking-reset_resume-or-other-methods.patch b/usb/usb-force-unbinding-of-drivers-lacking-reset_resume-or-other-methods.patch
index da6aff2866ff38..644986a6da4834 100644
--- a/usb/usb-force-unbinding-of-drivers-lacking-reset_resume-or-other-methods.patch
+++ b/usb/usb-force-unbinding-of-drivers-lacking-reset_resume-or-other-methods.patch
@@ -241,7 +241,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* it again. */
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -3357,6 +3357,11 @@ re_enumerate:
+@@ -3369,6 +3369,11 @@ re_enumerate:
* this from a driver probe() routine after downloading new firmware.
* For calls that might not occur during probe(), drivers should lock
* the device using usb_lock_device_for_reset().
@@ -253,7 +253,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
*/
int usb_reset_device(struct usb_device *udev)
{
-@@ -3378,12 +3383,17 @@ int usb_reset_device(struct usb_device *
+@@ -3390,12 +3395,17 @@ int usb_reset_device(struct usb_device *
for (i = 0; i < config->desc.bNumInterfaces; ++i) {
struct usb_interface *cintf = config->interface[i];
struct usb_driver *drv;
@@ -274,7 +274,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
}
}
-@@ -3394,13 +3404,18 @@ int usb_reset_device(struct usb_device *
+@@ -3406,13 +3416,18 @@ int usb_reset_device(struct usb_device *
for (i = config->desc.bNumInterfaces - 1; i >= 0; --i) {
struct usb_interface *cintf = config->interface[i];
struct usb_driver *drv;
diff --git a/usb/usb-handle-pci_name-being-const.patch b/usb/usb-handle-pci_name-being-const.patch
index eba8832696e2df..7e3a5beae7b127 100644
--- a/usb/usb-handle-pci_name-being-const.patch
+++ b/usb/usb-handle-pci_name-being-const.patch
@@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
-@@ -1755,7 +1755,7 @@ EXPORT_SYMBOL_GPL (usb_hc_died);
+@@ -1764,7 +1764,7 @@ EXPORT_SYMBOL_GPL (usb_hc_died);
* If memory is unavailable, returns NULL.
*/
struct usb_hcd *usb_create_hcd (const struct hc_driver *driver,
@@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/usb/core/hcd.h
+++ b/drivers/usb/core/hcd.h
-@@ -233,7 +233,7 @@ extern void usb_hcd_disable_endpoint(str
+@@ -235,7 +235,7 @@ extern void usb_hcd_disable_endpoint(str
extern int usb_hcd_get_frame_number(struct usb_device *udev);
extern struct usb_hcd *usb_create_hcd(const struct hc_driver *driver,
diff --git a/usb/usb-missing-usb_put_hcd-to-ohci-at91.patch b/usb/usb-missing-usb_put_hcd-to-ohci-at91.patch
index 1cbcbb251ad28e..1a1d105396b497 100644
--- a/usb/usb-missing-usb_put_hcd-to-ohci-at91.patch
+++ b/usb/usb-missing-usb_put_hcd-to-ohci-at91.patch
@@ -53,7 +53,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
/*-------------------------------------------------------------------------*/
-@@ -308,7 +308,8 @@ static int ohci_hcd_at91_drv_remove(stru
+@@ -309,7 +309,8 @@ static int ohci_hcd_at91_drv_remove(stru
}
device_init_wakeup(&pdev->dev, 0);
diff --git a/usb/usb-optimize-port-debouncing-during-hub-activation.patch b/usb/usb-optimize-port-debouncing-during-hub-activation.patch
index 68e0098101028c..f9316d7769c305 100644
--- a/usb/usb-optimize-port-debouncing-during-hub-activation.patch
+++ b/usb/usb-optimize-port-debouncing-during-hub-activation.patch
@@ -85,7 +85,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
hub_activate(hub);
}
-@@ -2208,11 +2235,6 @@ static inline int remote_wakeup(struct u
+@@ -2211,11 +2238,6 @@ static inline int remote_wakeup(struct u
* every 25ms for transient disconnects. When the port status has been
* unchanged for 100ms it returns the port status.
*/
diff --git a/usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch b/usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch
index 3def541705b75b..2d151840e060ed 100644
--- a/usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch
+++ b/usb/usb-remove-interface-parameter-of-usb_reset_composite_device.patch
@@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static int proc_setintf(struct dev_state *ps, void __user *arg)
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -2709,7 +2709,7 @@ static void hub_port_connect_change(stru
+@@ -2712,7 +2712,7 @@ static void hub_port_connect_change(stru
#endif
} else {
@@ -60,7 +60,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
usb_unlock_device(udev);
-@@ -2937,7 +2937,7 @@ static void hub_events(void)
+@@ -2940,7 +2940,7 @@ static void hub_events(void)
dev_dbg (hub_dev, "resetting for error %d\n",
hub->error);
@@ -69,7 +69,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (ret) {
dev_dbg (hub_dev,
"error resetting hub: %d\n", ret);
-@@ -3345,7 +3345,6 @@ EXPORT_SYMBOL_GPL(usb_reset_device);
+@@ -3357,7 +3357,6 @@ EXPORT_SYMBOL_GPL(usb_reset_device);
/**
* usb_reset_composite_device - warn interface drivers and perform a USB port reset
* @udev: device to reset (not in SUSPENDED or NOTATTACHED state)
@@ -77,7 +77,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
*
* Warns all drivers bound to registered interfaces (using their pre_reset
* method), performs the port reset, and then lets the drivers know that
-@@ -3358,8 +3357,7 @@ EXPORT_SYMBOL_GPL(usb_reset_device);
+@@ -3370,8 +3369,7 @@ EXPORT_SYMBOL_GPL(usb_reset_device);
* For calls that might not occur during probe(), drivers should lock
* the device using usb_lock_device_for_reset().
*/
@@ -87,7 +87,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
{
int ret;
int i;
-@@ -3375,9 +3373,6 @@ int usb_reset_composite_device(struct us
+@@ -3387,9 +3385,6 @@ int usb_reset_composite_device(struct us
/* Prevent autosuspend during the reset */
usb_autoresume_device(udev);
diff --git a/usb/usb-simplify-hub_restart-logic.patch b/usb/usb-simplify-hub_restart-logic.patch
index 8eb76154d20af4..2bc641afa0758e 100644
--- a/usb/usb-simplify-hub_restart-logic.patch
+++ b/usb/usb-simplify-hub_restart-logic.patch
@@ -28,8 +28,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/usb/core/driver.c | 7 --
- drivers/usb/core/hub.c | 112 +++++++++++++++++++++-------------------------
- 2 files changed, 53 insertions(+), 66 deletions(-)
+ drivers/usb/core/hub.c | 110 +++++++++++++++++++++-------------------------
+ 2 files changed, 53 insertions(+), 64 deletions(-)
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -222,7 +222,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return 0;
}
-@@ -2900,7 +2899,7 @@ static void hub_events(void)
+@@ -2903,7 +2902,7 @@ static void hub_events(void)
continue;
connect_change = test_bit(i, hub->change_bits);
if (!test_and_clear_bit(i, hub->event_bits) &&
@@ -231,7 +231,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
continue;
ret = hub_port_status(hub, i,
-@@ -2908,11 +2907,6 @@ static void hub_events(void)
+@@ -2911,11 +2910,6 @@ static void hub_events(void)
if (ret < 0)
continue;
@@ -243,12 +243,3 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (portchange & USB_PORT_STAT_C_CONNECTION) {
clear_port_feature(hdev, i,
USB_PORT_FEAT_C_CONNECTION);
-@@ -3008,8 +3002,6 @@ static void hub_events(void)
- }
- }
-
-- hub->activating = 0;
--
- loop_autopm:
- /* Allow autosuspend if we're not going to run again */
- if (list_empty(&hub->event_list))
diff --git a/usb/usb-try-to-salvage-lost-power-sessions.patch b/usb/usb-try-to-salvage-lost-power-sessions.patch
index 2742721e3282cc..feed2805654be2 100644
--- a/usb/usb-try-to-salvage-lost-power-sessions.patch
+++ b/usb/usb-try-to-salvage-lost-power-sessions.patch
@@ -79,7 +79,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
} else {
/* The power session is gone; tell khubd */
usb_set_device_state(udev, USB_STATE_NOTATTACHED);
-@@ -2072,17 +2065,16 @@ int usb_port_resume(struct usb_device *u
+@@ -2075,17 +2068,16 @@ int usb_port_resume(struct usb_device *u
return status;
}
@@ -98,7 +98,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return status;
}
-@@ -2629,6 +2621,7 @@ static void hub_port_connect_change(stru
+@@ -2632,6 +2624,7 @@ static void hub_port_connect_change(stru
struct usb_hcd *hcd = bus_to_hcd(hdev->bus);
unsigned wHubCharacteristics =
le16_to_cpu(hub->descriptor->wHubCharacteristics);
@@ -106,7 +106,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
int status, i;
dev_dbg (hub_dev,
-@@ -2663,8 +2656,45 @@ static void hub_port_connect_change(stru
+@@ -2666,8 +2659,45 @@ static void hub_port_connect_change(stru
}
}
@@ -153,7 +153,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
usb_disconnect(&hdev->children[port1-1]);
clear_bit(port1, hub->change_bits);
-@@ -2682,7 +2712,6 @@ static void hub_port_connect_change(stru
+@@ -2685,7 +2715,6 @@ static void hub_port_connect_change(stru
}
for (i = 0; i < SET_CONFIG_TRIES; i++) {
@@ -161,7 +161,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* reallocate for each attempt, since references
* to the previous one can escape in various ways
-@@ -2941,11 +2970,16 @@ static void hub_events(void)
+@@ -2944,11 +2973,16 @@ static void hub_events(void)
}
if (portchange & USB_PORT_STAT_C_SUSPEND) {
diff --git a/usb/usb-usb-dev_name-instead-of-dev-bus_id.patch b/usb/usb-usb-dev_name-instead-of-dev-bus_id.patch
index c44d75721f380b..4a2a0aa85e776e 100644
--- a/usb/usb-usb-dev_name-instead-of-dev-bus_id.patch
+++ b/usb/usb-usb-dev_name-instead-of-dev-bus_id.patch
@@ -448,7 +448,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
goto err0;
--- a/drivers/usb/host/ohci-pnx4008.c
+++ b/drivers/usb/host/ohci-pnx4008.c
-@@ -388,7 +388,7 @@ static int __devinit usb_hcd_pnx4008_pro
+@@ -389,7 +389,7 @@ static int __devinit usb_hcd_pnx4008_pro
while ((__raw_readl(USB_OTG_CLK_STAT) & USB_CLOCK_MASK) !=
USB_CLOCK_MASK) ;
@@ -459,7 +459,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
ret = -ENOMEM;
--- a/drivers/usb/host/ohci-ps3.c
+++ b/drivers/usb/host/ohci-ps3.c
-@@ -128,7 +128,7 @@ static int ps3_ohci_probe(struct ps3_sys
+@@ -129,7 +129,7 @@ static int ps3_ohci_probe(struct ps3_sys
dev->core.dma_mask = &dummy_mask; /* FIXME: for improper usb code */
@@ -470,7 +470,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
dev_dbg(&dev->core, "%s:%d: usb_create_hcd failed\n", __func__,
--- a/drivers/usb/host/ohci-sm501.c
+++ b/drivers/usb/host/ohci-sm501.c
-@@ -142,7 +142,7 @@ static int ohci_hcd_sm501_drv_probe(stru
+@@ -143,7 +143,7 @@ static int ohci_hcd_sm501_drv_probe(stru
goto err2;
}
@@ -481,7 +481,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
goto err2;
--- a/drivers/usb/host/ohci-ssb.c
+++ b/drivers/usb/host/ohci-ssb.c
-@@ -112,7 +112,7 @@ static int ssb_ohci_attach(struct ssb_de
+@@ -113,7 +113,7 @@ static int ssb_ohci_attach(struct ssb_de
ssb_device_enable(dev, flags);
hcd = usb_create_hcd(&ssb_ohci_hc_driver, dev->dev,
@@ -503,7 +503,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
goto err5;
--- a/drivers/usb/host/u132-hcd.c
+++ b/drivers/usb/host/u132-hcd.c
-@@ -3113,7 +3113,7 @@ static int __devinit u132_probe(struct p
+@@ -3124,7 +3124,7 @@ static int __devinit u132_probe(struct p
if (pdev->dev.dma_mask)
return -EINVAL;
diff --git a/version b/version
index 81456430bbbff9..e760bfcb1e98b2 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.6.26-rc8-git3
+2.6.26