aboutsummaryrefslogtreecommitdiffstats
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2009-03-02 09:09:43 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2009-03-02 09:09:43 -0800
commitf672753bff1b050ea6f2128160e4fc3a0c1651a8 (patch)
treedd518117a5cfbe0902955372f855da06b28d5f64
parent95e7dbb8dc75413f18975d3837790766af4c214f (diff)
downloadpatches-f672753bff1b050ea6f2128160e4fc3a0c1651a8.tar.gz
2.6.29-rc6-git5 resync
-rw-r--r--driver-core/bus_id-net2.patch6
-rw-r--r--driver-core/dynamic-debug-combine-dprintk-and-dynamic-printk.patch4
-rw-r--r--series26
-rw-r--r--staging/staging-panel-fix-oops-on-panel_cleanup_module.patch57
-rw-r--r--staging/staging-rtl8187se-fix-kconfig-dependencies.patch45
-rw-r--r--staging/staging-rtl8187se-fix-oops-and-memory-poison-caused-by-builtin-ieee80211.patch74
-rw-r--r--staging/staging-w35und-fix-registration-with-wlan-stack.patch37
-rw-r--r--staging/staging-w35und-fix-usb_control_msg-error-handling-in-wb35_probe.patch61
-rw-r--r--staging/staging-w35und-kill-wbdebug-and-remove-common.h-header-file.patch2
-rw-r--r--staging/staging-w35und-remove-hw_data_t-typedef.patch2
-rw-r--r--usb.current/usb-cdc-acm-add-usb-id-for-motomagx-phones.patch33
-rw-r--r--usb.current/usb-ehci-slow-down-itd-reuse.patch189
-rw-r--r--usb.current/usb-fsl_usb2_udc-fix-potential-queue-head-corruption.patch33
-rw-r--r--usb.current/usb-g_file_storage-automatically-disable-stalls-under-atmel.patch38
-rw-r--r--usb.current/usb-gadget-fix-build-error-in-omap_apollon_2420_defconfig.patch31
-rw-r--r--usb.current/usb-gadget-obex-select-correct-ep-descriptors.patch36
-rw-r--r--usb.current/usb-musb-be-careful-with-64k-transfer-lengths-host-side.patch66
-rw-r--r--usb.current/usb-musb-be-careful-with-64k-transfer-lengths.patch46
-rw-r--r--usb.current/usb-musb-fix-data-toggle-saving-with-shared-fifo.patch46
-rw-r--r--usb.current/usb-musb-fix-musb_host_tx-for-shared-endpoint-fifo.patch43
-rw-r--r--usb.current/usb-musb-fix-srp-sysfs-entry-deletion.patch44
-rw-r--r--usb.current/usb-musb-fix-urb_dequeue-method.patch75
-rw-r--r--usb.current/usb-musb-host-endpoint_disable-oops-fixes.patch93
-rw-r--r--usb.current/usb-musb-make-davinci-work-in-mainline.patch144
-rw-r--r--usb.current/usb-musb-resume-suspended-root-hub-on-disconnect.patch38
-rw-r--r--usb.current/usb-musb-use-right-poll-limit-for-low-speed-devices.patch56
-rw-r--r--usb.current/usb-option-add-benq-3g-modem-information.patch39
-rw-r--r--usb.current/usb-quirk-for-hummingbird-huc56s-conexant-acm-modem.patch34
-rw-r--r--usb.current/usb-serial-add-support-for-second-revision-of-ericsson-f3507g-wwan-card.patch42
-rw-r--r--usb.current/usb-usb-storage-add-ignore_residue-flag-for-genesys-logic-adapters.patch41
-rw-r--r--usb.current/usb-usb_get_string-should-check-the-descriptor-type.patch59
-rw-r--r--version2
32 files changed, 8 insertions, 1534 deletions
diff --git a/driver-core/bus_id-net2.patch b/driver-core/bus_id-net2.patch
index 3ca7fe81aba664..6198c21a0d4d5a 100644
--- a/driver-core/bus_id-net2.patch
+++ b/driver-core/bus_id-net2.patch
@@ -286,7 +286,7 @@ Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
-@@ -2589,7 +2589,7 @@ static void phy_init(struct mv643xx_eth_
+@@ -2588,7 +2588,7 @@ static void phy_init(struct mv643xx_eth_
phy_reset(mp);
@@ -396,7 +396,7 @@ Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
--- a/drivers/net/smsc9420.c
+++ b/drivers/net/smsc9420.c
-@@ -1156,7 +1156,7 @@ static int smsc9420_mii_probe(struct net
+@@ -1160,7 +1160,7 @@ static int smsc9420_mii_probe(struct net
smsc_info(PROBE, "PHY addr %d, phy_id 0x%08X", phydev->addr,
phydev->phy_id);
@@ -405,7 +405,7 @@ Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
&smsc9420_phy_adjust_link, 0, PHY_INTERFACE_MODE_MII);
if (IS_ERR(phydev)) {
-@@ -1165,7 +1165,7 @@ static int smsc9420_mii_probe(struct net
+@@ -1169,7 +1169,7 @@ static int smsc9420_mii_probe(struct net
}
pr_info("%s: attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
diff --git a/driver-core/dynamic-debug-combine-dprintk-and-dynamic-printk.patch b/driver-core/dynamic-debug-combine-dprintk-and-dynamic-printk.patch
index cac50bb215b536..557eaa1f9ec176 100644
--- a/driver-core/dynamic-debug-combine-dprintk-and-dynamic-printk.patch
+++ b/driver-core/dynamic-debug-combine-dprintk-and-dynamic-printk.patch
@@ -49,7 +49,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -1814,11 +1814,6 @@ and is between 256 and 4096 characters.
+@@ -1816,11 +1816,6 @@ and is between 256 and 4096 characters.
autoconfiguration.
Ranges are in pairs (memory base and size).
@@ -1541,7 +1541,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-early_param("dynamic_printk", dynamic_printk_setup);
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
-@@ -847,7 +847,7 @@ menuconfig BUILD_DOCSRC
+@@ -847,7 +847,7 @@ config BUILD_DOCSRC
Say N if you are unsure.
diff --git a/series b/series
index da5bd92f3936e5..fa61f1f5c6fe6f 100644
--- a/series
+++ b/series
@@ -15,27 +15,6 @@ gregkh.pre/detect-atomic-counter-underflows.patch
#################################
# USB patches for 2.6.29
#################################
-usb.current/usb-fsl_usb2_udc-fix-potential-queue-head-corruption.patch
-usb.current/usb-ehci-slow-down-itd-reuse.patch
-usb.current/usb-gadget-obex-select-correct-ep-descriptors.patch
-usb.current/usb-option-add-benq-3g-modem-information.patch
-usb.current/usb-cdc-acm-add-usb-id-for-motomagx-phones.patch
-usb.current/usb-serial-add-support-for-second-revision-of-ericsson-f3507g-wwan-card.patch
-usb.current/usb-quirk-for-hummingbird-huc56s-conexant-acm-modem.patch
-usb.current/usb-usb-storage-add-ignore_residue-flag-for-genesys-logic-adapters.patch
-usb.current/usb-g_file_storage-automatically-disable-stalls-under-atmel.patch
-usb.current/usb-gadget-fix-build-error-in-omap_apollon_2420_defconfig.patch
-usb.current/usb-usb_get_string-should-check-the-descriptor-type.patch
-usb.current/usb-musb-make-davinci-work-in-mainline.patch
-usb.current/usb-musb-be-careful-with-64k-transfer-lengths.patch
-usb.current/usb-musb-fix-musb_host_tx-for-shared-endpoint-fifo.patch
-usb.current/usb-musb-fix-urb_dequeue-method.patch
-usb.current/usb-musb-host-endpoint_disable-oops-fixes.patch
-usb.current/usb-musb-fix-data-toggle-saving-with-shared-fifo.patch
-usb.current/usb-musb-be-careful-with-64k-transfer-lengths-host-side.patch
-usb.current/usb-musb-use-right-poll-limit-for-low-speed-devices.patch
-usb.current/usb-musb-resume-suspended-root-hub-on-disconnect.patch
-usb.current/usb-musb-fix-srp-sysfs-entry-deletion.patch
#####################################################################
# Stuff to be merged after 2.6.29 is out
@@ -195,9 +174,6 @@ gregkh.post/usb-gotemp.patch
#################################
# for before .29 is done:
-staging/staging-rtl8187se-fix-kconfig-dependencies.patch
-staging/staging-rtl8187se-fix-oops-and-memory-poison-caused-by-builtin-ieee80211.patch
-staging/staging-panel-fix-oops-on-panel_cleanup_module.patch
# for after .29:
@@ -248,8 +224,6 @@ staging/staging-w35und-kill-wbdebug-and-remove-common.h-header-file.patch
staging/staging-w35und-typedef-removal.patch
staging/staging-w35und-remove-hw_data_t-typedef.patch
staging/staging-w35und-remove-mto_func_input-macro-obfuscation.patch
-staging/staging-w35und-fix-registration-with-wlan-stack.patch
-staging/staging-w35und-fix-usb_control_msg-error-handling-in-wb35_probe.patch
staging/staging-wlan-ng-remove-use-of-__wlan_attrib_pack__.patch
staging/staging-wlan-ng-remove-use-of-wlan_addr_len.patch
diff --git a/staging/staging-panel-fix-oops-on-panel_cleanup_module.patch b/staging/staging-panel-fix-oops-on-panel_cleanup_module.patch
deleted file mode 100644
index b4fefb88767192..00000000000000
--- a/staging/staging-panel-fix-oops-on-panel_cleanup_module.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From lcostantino@gmail.com Tue Feb 17 17:29:35 2009
-From: Costantino Leandro <lcostantino@gmail.com>
-From: leandro Costantino <lcostantino@gmail.com>
-Date: Tue, 17 Feb 2009 11:10:48 -0500
-Subject: Staging: panel: fix oops on panel_cleanup_module
-To: Greg Kroah-Hartman <greg@kroah.com>, Willy Tarreau <willy@meta-x.org>
-Message-ID: <c2fe070d0902170810y3394bf96q2f08982e68302687@mail.gmail.com>
-
-From: Costantino Leandro <lcostantino@gmail.com>
-
-Check for null pardevice (not registered, ej: panel never attached,
-inexistent parport, etc. ) before calling parport_release,
-parport_unregister_device, and related funcs on module release.
-
-Signed-off-by: Costantino Leandro <lcostantino@gmail.com>
-Acked-by: Willy Tarreau <w@1wt.eu>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/staging/panel/panel.c | 25 +++++++++++++------------
- 1 file changed, 13 insertions(+), 12 deletions(-)
-
---- a/drivers/staging/panel/panel.c
-+++ b/drivers/staging/panel/panel.c
-@@ -2164,19 +2164,20 @@ static void __exit panel_cleanup_module(
- if (scan_timer.function != NULL)
- del_timer(&scan_timer);
-
-- if (keypad_enabled)
-- misc_deregister(&keypad_dev);
--
-- if (lcd_enabled) {
-- panel_lcd_print("\x0cLCD driver " PANEL_VERSION
-- "\nunloaded.\x1b[Lc\x1b[Lb\x1b[L-");
-- misc_deregister(&lcd_dev);
-+ if (pprt != NULL) {
-+ if (keypad_enabled)
-+ misc_deregister(&keypad_dev);
-+
-+ if (lcd_enabled) {
-+ panel_lcd_print("\x0cLCD driver " PANEL_VERSION
-+ "\nunloaded.\x1b[Lc\x1b[Lb\x1b[L-");
-+ misc_deregister(&lcd_dev);
-+ }
-+
-+ /* TODO: free all input signals */
-+ parport_release(pprt);
-+ parport_unregister_device(pprt);
- }
--
-- /* TODO: free all input signals */
--
-- parport_release(pprt);
-- parport_unregister_device(pprt);
- parport_unregister_driver(&panel_driver);
- }
-
diff --git a/staging/staging-rtl8187se-fix-kconfig-dependencies.patch b/staging/staging-rtl8187se-fix-kconfig-dependencies.patch
deleted file mode 100644
index c5a2b6877ec421..00000000000000
--- a/staging/staging-rtl8187se-fix-kconfig-dependencies.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From randy.dunlap@oracle.com Thu Feb 12 11:46:16 2009
-From: Randy Dunlap <randy.dunlap@oracle.com>
-Date: Wed, 11 Feb 2009 13:20:44 -0800
-Subject: Staging: rtl8187se: fix Kconfig dependencies
-Cc: gregkh@suse.de
-Message-ID: <20090211132044.9e6e04d9.randy.dunlap@oracle.com>
-
-
-From: Randy Dunlap <randy.dunlap@oracle.com>
-
-rtl8187se uses wireless extensions so it needs to depend on
-WIRELESS_EXT (or select it).
-
-rtl8187se uses fields in struct net_device that are only present
-if CONFIG_COMPAT_NET_DEV_OPS=y, so it needs to depend on
-that symbol also.
-
-drivers/staging/rtl8187se/r8180_core.c:5973: error: 'struct net_device' has no member named 'wireless_handlers'
-drivers/staging/rtl8187se/r8180_core.c:5982: error: 'struct net_device' has no member named 'wireless_handlers'
-
-drivers/staging/rtl8187se/r8180_core.c:201: error: 'struct net_device' has no member named 'stop'
-drivers/staging/rtl8187se/r8180_core.c:4584: error: 'struct net_device' has no member named 'get_stats'
-drivers/staging/rtl8187se/r8180_core.c:5969: error: 'struct net_device' has no member named 'open'
-drivers/staging/rtl8187se/r8180_core.c:5970: error: 'struct net_device' has no member named 'stop'
-drivers/staging/rtl8187se/r8180_core.c:5972: error: 'struct net_device' has no member named 'tx_timeout'
-drivers/staging/rtl8187se/r8180_core.c:5974: error: 'struct net_device' has no member named 'do_ioctl'
-drivers/staging/rtl8187se/r8180_core.c:5975: error: 'struct net_device' has no member named 'set_multicast_list'
-drivers/staging/rtl8187se/r8180_core.c:5976: error: 'struct net_device' has no member named 'set_mac_address'
-
-Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/staging/rtl8187se/Kconfig | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/staging/rtl8187se/Kconfig
-+++ b/drivers/staging/rtl8187se/Kconfig
-@@ -1,5 +1,6 @@
- config RTL8187SE
- tristate "RealTek RTL8187SE Wireless LAN NIC driver"
- depends on PCI
-+ depends on WIRELESS_EXT && COMPAT_NET_DEV_OPS
- default N
- ---help---
diff --git a/staging/staging-rtl8187se-fix-oops-and-memory-poison-caused-by-builtin-ieee80211.patch b/staging/staging-rtl8187se-fix-oops-and-memory-poison-caused-by-builtin-ieee80211.patch
deleted file mode 100644
index 02840b74552382..00000000000000
--- a/staging/staging-rtl8187se-fix-oops-and-memory-poison-caused-by-builtin-ieee80211.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From lcostantino@gmail.com Tue Feb 17 18:07:38 2009
-From: leandro Costantino <lcostantino@gmail.com>
-Date: Tue, 17 Feb 2009 11:16:26 -0500
-Subject: Staging: rtl8187se: Fix oops and memory poison caused by builtin ieee80211.
-To: gregkh@suse.de
-Message-ID: <c2fe070d0902170816p1f192dd5p9ef9586352c5d8d1@mail.gmail.com>
-
-
-when modprobe and removing rtl8187se ( just for testing, i do not have
-that card , and oops and a memory poison error happens on the builtin
-ieee80211 of that driver. I dont know if they will port it to the
-current ieeee80221 instead of the builtin ones, but just in case i
-attach a proposed fix for that problem.
-
-- Change for loop on ieee80211_crypto_deinit for list_for_each_safe to
- remove items. Is there an spinlock needed here?
-- Call ieee80211_crypto_deinit after exiting all registerd crypto protocols.
-
-
-Signed-off-by: Costantino Leandro <lcostantino@gmail.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c | 19 +++++++++---------
- drivers/staging/rtl8187se/r8180_core.c | 2 -
- 2 files changed, 11 insertions(+), 10 deletions(-)
-
---- a/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
-+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
-@@ -234,20 +234,21 @@ out:
- void ieee80211_crypto_deinit(void)
- {
- struct list_head *ptr, *n;
-+ struct ieee80211_crypto_alg *alg = NULL;
-
- if (hcrypt == NULL)
- return;
-
-- for (ptr = hcrypt->algs.next, n = ptr->next; ptr != &hcrypt->algs;
-- ptr = n, n = ptr->next) {
-- struct ieee80211_crypto_alg *alg =
-- (struct ieee80211_crypto_alg *) ptr;
-- list_del(ptr);
-- printk(KERN_DEBUG "ieee80211_crypt: unregistered algorithm "
-- "'%s' (deinit)\n", alg->ops->name);
-- kfree(alg);
-+ list_for_each_safe(ptr, n, &hcrypt->algs) {
-+ alg = list_entry(ptr, struct ieee80211_crypto_alg, list);
-+ if (alg) {
-+ list_del(ptr);
-+ printk(KERN_DEBUG
-+ "ieee80211_crypt: unregistered algorithm '%s' (deinit)\n",
-+ alg->ops->name);
-+ kfree(alg);
-+ }
- }
--
- kfree(hcrypt);
- }
-
---- a/drivers/staging/rtl8187se/r8180_core.c
-+++ b/drivers/staging/rtl8187se/r8180_core.c
-@@ -6161,10 +6161,10 @@ static void __exit rtl8180_pci_module_ex
- {
- pci_unregister_driver (&rtl8180_pci_driver);
- rtl8180_proc_module_remove();
-- ieee80211_crypto_deinit();
- ieee80211_crypto_tkip_exit();
- ieee80211_crypto_ccmp_exit();
- ieee80211_crypto_wep_exit();
-+ ieee80211_crypto_deinit();
- DMESG("Exiting");
- }
-
diff --git a/staging/staging-w35und-fix-registration-with-wlan-stack.patch b/staging/staging-w35und-fix-registration-with-wlan-stack.patch
deleted file mode 100644
index 06ce8b0e57914f..00000000000000
--- a/staging/staging-w35und-fix-registration-with-wlan-stack.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From pavel@suse.cz Tue Feb 3 17:05:31 2009
-From: Pavel Machek <pavel@suse.cz>
-Date: Fri, 30 Jan 2009 10:05:25 +0100
-Subject: Staging: w35und: fix registration with wlan stack
-To: Sandro Bonazzola <sandro.bonazzola@gmail.com>, Greg KH <greg@kroah.com>
-Cc: Pekka Enberg <penberg@cs.helsinki.fi>
-Message-ID: <20090130090525.GA1997@elf.ucw.cz>
-Content-Disposition: inline
-
-
-Initialize few more fields in wireless device structure so that
-wireless core actually accepts our registration.
-
-Signed-off-by: Pavel Machek <pavel@suse.cz>
-Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
-
----
- drivers/staging/winbond/wbusb.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
---- a/drivers/staging/winbond/wbusb.c
-+++ b/drivers/staging/winbond/wbusb.c
-@@ -369,9 +369,11 @@ static int wb35_probe(struct usb_interfa
- }
-
- dev->extra_tx_headroom = 12; /* FIXME */
-- dev->flags = 0;
-+ dev->flags = IEEE80211_HW_SIGNAL_UNSPEC;
-+ dev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
-
- dev->channel_change_time = 1000;
-+ dev->max_signal = 100;
- dev->queues = 1;
-
- dev->wiphy->bands[IEEE80211_BAND_2GHZ] = &wbsoft_band_2GHz;
diff --git a/staging/staging-w35und-fix-usb_control_msg-error-handling-in-wb35_probe.patch b/staging/staging-w35und-fix-usb_control_msg-error-handling-in-wb35_probe.patch
deleted file mode 100644
index f3abef77624d5f..00000000000000
--- a/staging/staging-w35und-fix-usb_control_msg-error-handling-in-wb35_probe.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From penberg@cs.helsinki.fi Tue Feb 3 17:05:55 2009
-From: Pekka Enberg <penberg@cs.helsinki.fi>
-Date: Fri, 30 Jan 2009 11:32:47 +0200
-Subject: Staging: w35und: fix usb_control_msg() error handling in wb35_probe()
-To: Greg KH <greg@kroah.com>
-Cc: Pavel Machek <pavel@suse.cz>, Sandro Bonazzola <sandro.bonazzola@gmail.com>, linux-kernel@vger.kernel.org
-Message-ID: <1233307967.13655.30.camel@penberg-laptop>
-
-
-If successful, the usb_control_msg() function returns the number of
-bytes transferred. Fix up wb35_probe() to only bail out if the function returns
-a negative number. Also, fix up ieee80211_alloc_hw() error code to ENOMEM;
-otherwise GCC complains that err might be undefined (and is right about that).
-
-Acked-by: Pavel Machek <pavel@suse.cz>
-Reported-and-tested-by: Sandro Bonazzola <sandro.bonazzola@gmail.com>
-Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/staging/winbond/wbusb.c | 16 ++++++++++------
- 1 file changed, 10 insertions(+), 6 deletions(-)
-
---- a/drivers/staging/winbond/wbusb.c
-+++ b/drivers/staging/winbond/wbusb.c
-@@ -319,16 +319,18 @@ static int wb35_probe(struct usb_interfa
- struct usb_device *udev = interface_to_usbdev(intf);
- struct wbsoft_priv *priv;
- struct ieee80211_hw *dev;
-- int err;
-+ int nr, err;
-
- usb_get_dev(udev);
-
- // 20060630.2 Check the device if it already be opened
-- err = usb_control_msg(udev, usb_rcvctrlpipe( udev, 0 ),
-- 0x01, USB_TYPE_VENDOR|USB_RECIP_DEVICE|USB_DIR_IN,
-- 0x0, 0x400, &ltmp, 4, HZ*100 );
-- if (err)
-+ nr = usb_control_msg(udev, usb_rcvctrlpipe( udev, 0 ),
-+ 0x01, USB_TYPE_VENDOR|USB_RECIP_DEVICE|USB_DIR_IN,
-+ 0x0, 0x400, &ltmp, 4, HZ*100 );
-+ if (nr < 0) {
-+ err = nr;
- goto error;
-+ }
-
- ltmp = cpu_to_le32(ltmp);
- if (ltmp) { // Is already initialized?
-@@ -337,8 +339,10 @@ static int wb35_probe(struct usb_interfa
- }
-
- dev = ieee80211_alloc_hw(sizeof(*priv), &wbsoft_ops);
-- if (!dev)
-+ if (!dev) {
-+ err = -ENOMEM;
- goto error;
-+ }
-
- priv = dev->priv;
-
diff --git a/staging/staging-w35und-kill-wbdebug-and-remove-common.h-header-file.patch b/staging/staging-w35und-kill-wbdebug-and-remove-common.h-header-file.patch
index c52e85fc48571d..d7cace1070d870 100644
--- a/staging/staging-w35und-kill-wbdebug-and-remove-common.h-header-file.patch
+++ b/staging/staging-w35und-kill-wbdebug-and-remove-common.h-header-file.patch
@@ -354,7 +354,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#endif
hal_get_hw_radio_off( pHwData );
-@@ -398,7 +398,7 @@ static void wb35_hw_halt(struct wbsoft_p
+@@ -404,7 +404,7 @@ static void wb35_hw_halt(struct wbsoft_p
// Turn off Rx and Tx hardware ability
hal_stop( &adapter->sHwData );
#ifdef _PE_USB_INI_DUMP_
diff --git a/staging/staging-w35und-remove-hw_data_t-typedef.patch b/staging/staging-w35und-remove-hw_data_t-typedef.patch
index 69dc8f362ecb8b..1e3678fde1a8d0 100644
--- a/staging/staging-w35und-remove-hw_data_t-typedef.patch
+++ b/staging/staging-w35und-remove-hw_data_t-typedef.patch
@@ -1234,7 +1234,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
u8 *pMacAddr;
u8 *pMacAddr2;
u32 InitStep = 0;
-@@ -362,7 +362,7 @@ static int wb35_probe(struct usb_interfa
+@@ -366,7 +366,7 @@ static int wb35_probe(struct usb_interfa
SET_IEEE80211_DEV(dev, &udev->dev);
{
diff --git a/usb.current/usb-cdc-acm-add-usb-id-for-motomagx-phones.patch b/usb.current/usb-cdc-acm-add-usb-id-for-motomagx-phones.patch
deleted file mode 100644
index a1c2f14a569b28..00000000000000
--- a/usb.current/usb-cdc-acm-add-usb-id-for-motomagx-phones.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From dimichxp@gmail.com Tue Feb 24 21:12:08 2009
-From: Dmitriy Taychenachev <dimichxp@gmail.com>
-Date: Wed, 25 Feb 2009 12:36:51 +0800
-Subject: USB: cdc-acm: add usb id for motomagx phones
-To: linux-usb@vger.kernel.org
-Message-ID: <2651740bf64c1d981c26.1235536611@wifi.master>
-
-
-The Motorola MOTOMAGX phones (Z6, E8, Zn5 so far) are providing
-combined ACM/BLAN USB configuration. Since it has Vendor Specific
-class, the corresponding drivers (cdc-acm, zaurus) can't find it just
-by interface info. This patch adds usb id so the cdc-acm driver can
-properly handle this combined device.
-
-Signed-off-by: Dmitriy Taychenachev <dimichxp@gmail.com>
-Cc: stable <stable@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/class/cdc-acm.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/usb/class/cdc-acm.c
-+++ b/drivers/usb/class/cdc-acm.c
-@@ -1376,6 +1376,8 @@ static struct usb_device_id acm_ids[] =
- { USB_DEVICE(0x0572, 0x1324), /* Conexant USB MODEM RD02-D400 */
- .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
- },
-+ { USB_DEVICE(0x22b8, 0x6425), /* Motorola MOTOMAGX phones */
-+ },
-
- /* control interfaces with various AT-command sets */
- { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
diff --git a/usb.current/usb-ehci-slow-down-itd-reuse.patch b/usb.current/usb-ehci-slow-down-itd-reuse.patch
deleted file mode 100644
index c1d9e54de97aa6..00000000000000
--- a/usb.current/usb-ehci-slow-down-itd-reuse.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-From david-b@pacbell.net Wed Feb 18 16:08:08 2009
-From: Karsten Wiese <fzu@wemgehoertderstaat.de>
-Date: Sun, 8 Feb 2009 16:07:58 -0800
-Subject: USB: EHCI: slow down ITD reuse
-To: Greg KH <greg@kroah.com>
-Cc: Karsten Wiese <fzu@wemgehoertderstaat.de>, linux-usb@vger.kernel.org
-Message-ID: <200902081607.58203.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Karsten Wiese <fzu@wemgehoertderstaat.de>
-
-Currently ITDs are immediately recycled whenever their URB completes.
-However, EHCI hardware can sometimes remember some ITD state. This
-means that when the ITD is reused before end-of-frame it may sometimes
-cause the hardware to reference bogus state.
-
-This patch defers reusing such ITDs by moving them into a new ehci member
-cached_itd_list. ITDs resting in cached_itd_list are moved back into their
-stream's free_list once scan_periodic() detects that the active frame has
-elapsed.
-
-This makes the snd_usb_us122l driver (in kernel since .28) work right
-when it's hooked up through EHCI.
-
-[ dbrownell@users.sourceforge.net: comment fixups ]
-
-Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
-Tested-by: Philippe Carriere <philippe-f.carriere@wanadoo.fr>
-Tested-by: Federico Briata <federicobriata@gmail.com>
-Cc: stable <stable@kernel.org>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/host/ehci-hcd.c | 2 +
- drivers/usb/host/ehci-mem.c | 1
- drivers/usb/host/ehci-sched.c | 56 ++++++++++++++++++++++++++++++++++++------
- drivers/usb/host/ehci.h | 6 ++++
- 4 files changed, 57 insertions(+), 8 deletions(-)
-
---- a/drivers/usb/host/ehci.h
-+++ b/drivers/usb/host/ehci.h
-@@ -87,6 +87,10 @@ struct ehci_hcd { /* one per controlle
- int next_uframe; /* scan periodic, start here */
- unsigned periodic_sched; /* periodic activity count */
-
-+ /* list of itds completed while clock_frame was still active */
-+ struct list_head cached_itd_list;
-+ unsigned clock_frame;
-+
- /* per root hub port */
- unsigned long reset_done [EHCI_MAX_ROOT_PORTS];
-
-@@ -220,6 +224,8 @@ timer_action (struct ehci_hcd *ehci, enu
- }
- }
-
-+static void free_cached_itd_list(struct ehci_hcd *ehci);
-+
- /*-------------------------------------------------------------------------*/
-
- #include <linux/usb/ehci_def.h>
---- a/drivers/usb/host/ehci-hcd.c
-+++ b/drivers/usb/host/ehci-hcd.c
-@@ -485,6 +485,7 @@ static int ehci_init(struct usb_hcd *hcd
- * periodic_size can shrink by USBCMD update if hcc_params allows.
- */
- ehci->periodic_size = DEFAULT_I_TDPS;
-+ INIT_LIST_HEAD(&ehci->cached_itd_list);
- if ((retval = ehci_mem_init(ehci, GFP_KERNEL)) < 0)
- return retval;
-
-@@ -497,6 +498,7 @@ static int ehci_init(struct usb_hcd *hcd
-
- ehci->reclaim = NULL;
- ehci->next_uframe = -1;
-+ ehci->clock_frame = -1;
-
- /*
- * dedicate a qh for the async ring head, since we couldn't unlink
---- a/drivers/usb/host/ehci-mem.c
-+++ b/drivers/usb/host/ehci-mem.c
-@@ -128,6 +128,7 @@ static inline void qh_put (struct ehci_q
-
- static void ehci_mem_cleanup (struct ehci_hcd *ehci)
- {
-+ free_cached_itd_list(ehci);
- if (ehci->async)
- qh_put (ehci->async);
- ehci->async = NULL;
---- a/drivers/usb/host/ehci-sched.c
-+++ b/drivers/usb/host/ehci-sched.c
-@@ -1004,7 +1004,8 @@ iso_stream_put(struct ehci_hcd *ehci, st
-
- is_in = (stream->bEndpointAddress & USB_DIR_IN) ? 0x10 : 0;
- stream->bEndpointAddress &= 0x0f;
-- stream->ep->hcpriv = NULL;
-+ if (stream->ep)
-+ stream->ep->hcpriv = NULL;
-
- if (stream->rescheduled) {
- ehci_info (ehci, "ep%d%s-iso rescheduled "
-@@ -1653,14 +1654,28 @@ itd_complete (
- (stream->bEndpointAddress & USB_DIR_IN) ? "in" : "out");
- }
- iso_stream_put (ehci, stream);
-- /* OK to recycle this ITD now that its completion callback ran. */
-+
- done:
- usb_put_urb(urb);
- itd->urb = NULL;
-- itd->stream = NULL;
-- list_move(&itd->itd_list, &stream->free_list);
-- iso_stream_put(ehci, stream);
--
-+ if (ehci->clock_frame != itd->frame || itd->index[7] != -1) {
-+ /* OK to recycle this ITD now. */
-+ itd->stream = NULL;
-+ list_move(&itd->itd_list, &stream->free_list);
-+ iso_stream_put(ehci, stream);
-+ } else {
-+ /* HW might remember this ITD, so we can't recycle it yet.
-+ * Move it to a safe place until a new frame starts.
-+ */
-+ list_move(&itd->itd_list, &ehci->cached_itd_list);
-+ if (stream->refcount == 2) {
-+ /* If iso_stream_put() were called here, stream
-+ * would be freed. Instead, just prevent reuse.
-+ */
-+ stream->ep->hcpriv = NULL;
-+ stream->ep = NULL;
-+ }
-+ }
- return retval;
- }
-
-@@ -2101,6 +2116,20 @@ done:
-
- /*-------------------------------------------------------------------------*/
-
-+static void free_cached_itd_list(struct ehci_hcd *ehci)
-+{
-+ struct ehci_itd *itd, *n;
-+
-+ list_for_each_entry_safe(itd, n, &ehci->cached_itd_list, itd_list) {
-+ struct ehci_iso_stream *stream = itd->stream;
-+ itd->stream = NULL;
-+ list_move(&itd->itd_list, &stream->free_list);
-+ iso_stream_put(ehci, stream);
-+ }
-+}
-+
-+/*-------------------------------------------------------------------------*/
-+
- static void
- scan_periodic (struct ehci_hcd *ehci)
- {
-@@ -2115,10 +2144,17 @@ scan_periodic (struct ehci_hcd *ehci)
- * Touches as few pages as possible: cache-friendly.
- */
- now_uframe = ehci->next_uframe;
-- if (HC_IS_RUNNING (ehci_to_hcd(ehci)->state))
-+ if (HC_IS_RUNNING(ehci_to_hcd(ehci)->state)) {
- clock = ehci_readl(ehci, &ehci->regs->frame_index);
-- else
-+ clock_frame = (clock >> 3) % ehci->periodic_size;
-+ } else {
- clock = now_uframe + mod - 1;
-+ clock_frame = -1;
-+ }
-+ if (ehci->clock_frame != clock_frame) {
-+ free_cached_itd_list(ehci);
-+ ehci->clock_frame = clock_frame;
-+ }
- clock %= mod;
- clock_frame = clock >> 3;
-
-@@ -2277,6 +2313,10 @@ restart:
- /* rescan the rest of this frame, then ... */
- clock = now;
- clock_frame = clock >> 3;
-+ if (ehci->clock_frame != clock_frame) {
-+ free_cached_itd_list(ehci);
-+ ehci->clock_frame = clock_frame;
-+ }
- } else {
- now_uframe++;
- now_uframe %= mod;
diff --git a/usb.current/usb-fsl_usb2_udc-fix-potential-queue-head-corruption.patch b/usb.current/usb-fsl_usb2_udc-fix-potential-queue-head-corruption.patch
deleted file mode 100644
index d0c0319c9563c4..00000000000000
--- a/usb.current/usb-fsl_usb2_udc-fix-potential-queue-head-corruption.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From leoli@freescale.com Tue Feb 17 17:36:15 2009
-From: Li Yang <leoli@freescale.com>
-Date: Fri, 13 Feb 2009 16:14:39 +0800
-Subject: USB: fsl_usb2_udc: fix potential queue head corruption
-To: greg@kroah.com
-Cc: dbrownell@users.sourceforge.net, Li Yang <leoli@freescale.com>
-Message-ID: <1234512879-31672-1-git-send-email-leoli@freescale.com>
-
-
-Clear next TD field and status field in queue head initialization code
-to prevent unpredictable result caused by residue of usb reset.
-
-Signed-off-by: Li Yang <leoli@freescale.com>
-Acked-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/gadget/fsl_usb2_udc.c | 3 +++
- 1 file changed, 3 insertions(+)
-
---- a/drivers/usb/gadget/fsl_usb2_udc.c
-+++ b/drivers/usb/gadget/fsl_usb2_udc.c
-@@ -404,7 +404,10 @@ static void struct_ep_qh_setup(struct fs
- }
- if (zlt)
- tmp |= EP_QUEUE_HEAD_ZLT_SEL;
-+
- p_QH->max_pkt_length = cpu_to_le32(tmp);
-+ p_QH->next_dtd_ptr = 1;
-+ p_QH->size_ioc_int_sts = 0;
-
- return;
- }
diff --git a/usb.current/usb-g_file_storage-automatically-disable-stalls-under-atmel.patch b/usb.current/usb-g_file_storage-automatically-disable-stalls-under-atmel.patch
deleted file mode 100644
index 1cec57625272b9..00000000000000
--- a/usb.current/usb-g_file_storage-automatically-disable-stalls-under-atmel.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From stern@rowland.harvard.edu Tue Feb 24 21:48:00 2009
-From: Alan Stern <stern@rowland.harvard.edu>
-Date: Tue, 24 Feb 2009 16:19:47 -0500 (EST)
-Subject: USB: g_file_storage: automatically disable stalls under Atmel
-To: Greg KH <greg@kroah.com>
-Cc: Stanislaw Gruszka <stf_xl@wp.pl>, USB list <linux-usb@vger.kernel.org>
-Message-ID: <Pine.LNX.4.44L0.0902241617220.10601-100000@iolanthe.rowland.org>
-
-
-This patch (as1220) automatically disables stalls when g_file_storage
-finds itself running with an Atmel device controller, because the
-Atmel hardware/driver isn't capable of halting bulk endpoints
-correctly.
-
-Reported-by: Stanislaw Gruszka <stf_xl@wp.pl>
-Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
-Acked-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/gadget/file_storage.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
---- a/drivers/usb/gadget/file_storage.c
-+++ b/drivers/usb/gadget/file_storage.c
-@@ -3879,7 +3879,11 @@ static int __init check_parameters(struc
- mod_data.protocol_type = USB_SC_SCSI;
- mod_data.protocol_name = "Transparent SCSI";
-
-- if (gadget_is_sh(fsg->gadget))
-+ /* Some peripheral controllers are known not to be able to
-+ * halt bulk endpoints correctly. If one of them is present,
-+ * disable stalls.
-+ */
-+ if (gadget_is_sh(fsg->gadget) || gadget_is_at91(fsg->gadget))
- mod_data.can_stall = 0;
-
- if (mod_data.release == 0xffff) { // Parameter wasn't set
diff --git a/usb.current/usb-gadget-fix-build-error-in-omap_apollon_2420_defconfig.patch b/usb.current/usb-gadget-fix-build-error-in-omap_apollon_2420_defconfig.patch
deleted file mode 100644
index 7d6fa5a027fa8e..00000000000000
--- a/usb.current/usb-gadget-fix-build-error-in-omap_apollon_2420_defconfig.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:56:50 2009
-From: David Brownell <david-b@pacbell.net>
-Date: Wed, 11 Feb 2009 22:31:12 -0800
-Subject: USB: gadget: fix build error in omap_apollon_2420_defconfig
-To: Kyungmin Park <kmpark@infradead.org>, Greg KH <greg@kroah.com>
-Cc: Tony Lindgren <tony@atomide.com>, "Russell King - ARM Linux" <linux@arm.linux.org.uk>
-Message-ID: <200902112231.12887.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-In apollon case, it only used udc, so udc configuration should select
-USB_OTG_UTILS also.
-
-Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
-Acked-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/gadget/Kconfig | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/usb/gadget/Kconfig
-+++ b/drivers/usb/gadget/Kconfig
-@@ -191,6 +191,7 @@ config USB_GADGET_OMAP
- boolean "OMAP USB Device Controller"
- depends on ARCH_OMAP
- select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_H4_OTG
-+ select USB_OTG_UTILS if ARCH_OMAP
- help
- Many Texas Instruments OMAP processors have flexible full
- speed USB device controllers, with support for up to 30
diff --git a/usb.current/usb-gadget-obex-select-correct-ep-descriptors.patch b/usb.current/usb-gadget-obex-select-correct-ep-descriptors.patch
deleted file mode 100644
index 3ad016c2cdf2d8..00000000000000
--- a/usb.current/usb-gadget-obex-select-correct-ep-descriptors.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From felipe.balbi@nokia.com Wed Feb 18 16:10:20 2009
-From: Felipe Balbi <felipe.balbi@nokia.com>
-Date: Tue, 10 Feb 2009 19:01:52 +0200
-Subject: usb: gadget: obex: select correct ep descriptors
-Cc: Felipe Balbi <felipe.balbi@nokia.com>, David Brownell <dbrownell@users.sourceforge.net>
-Message-ID: <1234285312-31756-1-git-send-email-felipe.balbi@nokia.com>
-
-
-We where selecting wrong ep descriptors causing
-some troubles while sending files over obex interface.
-
-The problem was a typo while usb_find_endpoint() was being
-called for HS endpoints.
-
-Acked-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/gadget/f_obex.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/usb/gadget/f_obex.c
-+++ b/drivers/usb/gadget/f_obex.c
-@@ -366,9 +366,9 @@ obex_bind(struct usb_configuration *c, s
- f->hs_descriptors = usb_copy_descriptors(hs_function);
-
- obex->hs.obex_in = usb_find_endpoint(hs_function,
-- f->descriptors, &obex_hs_ep_in_desc);
-+ f->hs_descriptors, &obex_hs_ep_in_desc);
- obex->hs.obex_out = usb_find_endpoint(hs_function,
-- f->descriptors, &obex_hs_ep_out_desc);
-+ f->hs_descriptors, &obex_hs_ep_out_desc);
- }
-
- /* Avoid letting this gadget enumerate until the userspace
diff --git a/usb.current/usb-musb-be-careful-with-64k-transfer-lengths-host-side.patch b/usb.current/usb-musb-be-careful-with-64k-transfer-lengths-host-side.patch
deleted file mode 100644
index e8dbe1f2503446..00000000000000
--- a/usb.current/usb-musb-be-careful-with-64k-transfer-lengths-host-side.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:08:27 2009
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Date: Sat, 21 Feb 2009 15:31:23 -0800
-Subject: USB: musb: be careful with 64K+ transfer lengths, host side
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Message-ID: <200902211531.23169.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-
-Feeding 32-bit length cast down to 'u16' to min() to calculate the FIFO
-count in musb_host_tx() risks sending a short packet prematurely for
-transfer sizes over 64 KB.
-
-Similarly, although data transfer size shouldn't exceed 65535 bytes for
-the control endpoint, making musb_h_ep0_continue() more robust WRT URBs
-with possibly oversized buffer will not hurt either...
-
-Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Cc: Felipe Balbi <felipe.balbi@nokia.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_host.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
---- a/drivers/usb/musb/musb_host.c
-+++ b/drivers/usb/musb/musb_host.c
-@@ -937,8 +937,8 @@ static bool musb_h_ep0_continue(struct m
- switch (musb->ep0_stage) {
- case MUSB_EP0_IN:
- fifo_dest = urb->transfer_buffer + urb->actual_length;
-- fifo_count = min(len, ((u16) (urb->transfer_buffer_length
-- - urb->actual_length)));
-+ fifo_count = min_t(size_t, len, urb->transfer_buffer_length -
-+ urb->actual_length);
- if (fifo_count < len)
- urb->status = -EOVERFLOW;
-
-@@ -971,10 +971,9 @@ static bool musb_h_ep0_continue(struct m
- }
- /* FALLTHROUGH */
- case MUSB_EP0_OUT:
-- fifo_count = min(qh->maxpacket, ((u16)
-- (urb->transfer_buffer_length
-- - urb->actual_length)));
--
-+ fifo_count = min_t(size_t, qh->maxpacket,
-+ urb->transfer_buffer_length -
-+ urb->actual_length);
- if (fifo_count) {
- fifo_dest = (u8 *) (urb->transfer_buffer
- + urb->actual_length);
-@@ -1304,7 +1303,8 @@ void musb_host_tx(struct musb *musb, u8
- * packets before updating TXCSR ... other docs disagree ...
- */
- /* PIO: start next packet in this URB */
-- wLength = min(qh->maxpacket, (u16) wLength);
-+ if (wLength > qh->maxpacket)
-+ wLength = qh->maxpacket;
- musb_write_fifo(hw_ep, wLength, buf);
- qh->segsize = wLength;
-
diff --git a/usb.current/usb-musb-be-careful-with-64k-transfer-lengths.patch b/usb.current/usb-musb-be-careful-with-64k-transfer-lengths.patch
deleted file mode 100644
index d1fab57b512f6d..00000000000000
--- a/usb.current/usb-musb-be-careful-with-64k-transfer-lengths.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:06:10 2009
-From: Felipe Balbi <felipe.balbi@nokia.com>
-Date: Sat, 21 Feb 2009 15:29:42 -0800
-Subject: USB: musb: be careful with 64K+ transfer lengths (gadget side)
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, Felipe Balbi <felipe.balbi@nokia.com>
-Message-ID: <200902211529.42439.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Felipe Balbi <felipe.balbi@nokia.com>
-
-request->actual is an unsigned and we should use the same
-variable type for fifo_count otherwise we might lose some
-data if request->length >= 64kbytes.
-
-[ dbrownell@users.sourceforge.net: fix compiler warning ]
-
-Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_gadget.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/usb/musb/musb_gadget.c
-+++ b/drivers/usb/musb/musb_gadget.c
-@@ -575,7 +575,7 @@ static void rxstate(struct musb *musb, s
- struct usb_request *request = &req->request;
- struct musb_ep *musb_ep = &musb->endpoints[epnum].ep_out;
- void __iomem *epio = musb->endpoints[epnum].regs;
-- u16 fifo_count = 0;
-+ unsigned fifo_count = 0;
- u16 len = musb_ep->packet_sz;
-
- csr = musb_readw(epio, MUSB_RXCSR);
-@@ -687,7 +687,7 @@ static void rxstate(struct musb *musb, s
- len, fifo_count,
- musb_ep->packet_sz);
-
-- fifo_count = min(len, fifo_count);
-+ fifo_count = min_t(unsigned, len, fifo_count);
-
- #ifdef CONFIG_USB_TUSB_OMAP_DMA
- if (tusb_dma_omap() && musb_ep->dma) {
diff --git a/usb.current/usb-musb-fix-data-toggle-saving-with-shared-fifo.patch b/usb.current/usb-musb-fix-data-toggle-saving-with-shared-fifo.patch
deleted file mode 100644
index bb75c3306baa5f..00000000000000
--- a/usb.current/usb-musb-fix-data-toggle-saving-with-shared-fifo.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:07:45 2009
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Date: Sat, 21 Feb 2009 15:31:13 -0800
-Subject: USB: musb: fix data toggle saving with shared FIFO
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Message-ID: <200902211531.13134.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-
-For some strange reason the host side musb_giveback() decides
-that it's always got an IN transfer when the hardware endpoint
-is using a shared FIFO. This causes musb_save_toggle() to read
-the toggle state from the RXCSR register instead of TXCSR, and
-may also cause unneeded reloading of RX endpoint registers.
-
-Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_host.c | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
---- a/drivers/usb/musb/musb_host.c
-+++ b/drivers/usb/musb/musb_host.c
-@@ -335,16 +335,11 @@ musb_save_toggle(struct musb_hw_ep *ep,
- static struct musb_qh *
- musb_giveback(struct musb_qh *qh, struct urb *urb, int status)
- {
-- int is_in;
- struct musb_hw_ep *ep = qh->hw_ep;
- struct musb *musb = ep->musb;
-+ int is_in = usb_pipein(urb->pipe);
- int ready = qh->is_ready;
-
-- if (ep->is_shared_fifo)
-- is_in = 1;
-- else
-- is_in = usb_pipein(urb->pipe);
--
- /* save toggle eagerly, for paranoia */
- switch (qh->type) {
- case USB_ENDPOINT_XFER_BULK:
diff --git a/usb.current/usb-musb-fix-musb_host_tx-for-shared-endpoint-fifo.patch b/usb.current/usb-musb-fix-musb_host_tx-for-shared-endpoint-fifo.patch
deleted file mode 100644
index 1c876093b06582..00000000000000
--- a/usb.current/usb-musb-fix-musb_host_tx-for-shared-endpoint-fifo.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:06:30 2009
-From: Dmitry Krivoschekov <dkrivoschekov@ru.mvista.com>
-Date: Sat, 21 Feb 2009 15:30:15 -0800
-Subject: USB: musb: fix musb_host_tx() for shared endpoint FIFO
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, Dmitry Krivoschekov <dkrivoschekov@ru.mvista.com>
-Message-ID: <200902211530.15372.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Dmitry Krivoschekov <dkrivoschekov@ru.mvista.com>
-
-The input queue should be used for TX on endpoints which
-share FIFO hardware. The host TX path wasn't doing that.
-
-Shared FIFOs are most often configured for periodic endpoints,
-which are mostly used for RX/IN transfers ... that's probably
-how this bug managed to linger for a long time.
-
-[ dbrownell@users.sourceforge.net: update patch description ]
-
-Signed-off-by: Dmitry Krivoschekov <dkrivoschekov@ru.mvista.com>
-Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Acked-by: David Brownell <dbrownell@users.sourceforge.net>
-Cc: Felipe Balbi <felipe.balbi@nokia.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_host.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/usb/musb/musb_host.c
-+++ b/drivers/usb/musb/musb_host.c
-@@ -1161,7 +1161,8 @@ void musb_host_tx(struct musb *musb, u8
- struct urb *urb;
- struct musb_hw_ep *hw_ep = musb->endpoints + epnum;
- void __iomem *epio = hw_ep->regs;
-- struct musb_qh *qh = hw_ep->out_qh;
-+ struct musb_qh *qh = hw_ep->is_shared_fifo ? hw_ep->in_qh
-+ : hw_ep->out_qh;
- u32 status = 0;
- void __iomem *mbase = musb->mregs;
- struct dma_channel *dma;
diff --git a/usb.current/usb-musb-fix-srp-sysfs-entry-deletion.patch b/usb.current/usb-musb-fix-srp-sysfs-entry-deletion.patch
deleted file mode 100644
index 05f7d06439f410..00000000000000
--- a/usb.current/usb-musb-fix-srp-sysfs-entry-deletion.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:09:27 2009
-From: Vikram Pandita <vikram.pandita@ti.com>
-Date: Sat, 21 Feb 2009 15:31:44 -0800
-Subject: USB: musb: fix srp sysfs entry deletion
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, "Pandita, Vikram" <vikram.pandita@ti.com>
-Message-ID: <200902211531.44907.david-b@pacbell.net>
-
-
-From: Vikram Pandita <vikram.pandita@ti.com>
-
-The SRP sysfs attribute is dependent on gadget mode; any
-gadget may support SRP. But "rmmod musb_hdrc" didn't
-remove that attribute; fix.
-
-Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
-Acked-by: Felipe Balbi <me@felipebalbi.com>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_core.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/usb/musb/musb_core.c
-+++ b/drivers/usb/musb/musb_core.c
-@@ -1816,7 +1816,7 @@ static void musb_free(struct musb *musb)
- #ifdef CONFIG_SYSFS
- device_remove_file(musb->controller, &dev_attr_mode);
- device_remove_file(musb->controller, &dev_attr_vbus);
--#ifdef CONFIG_USB_MUSB_OTG
-+#ifdef CONFIG_USB_GADGET_MUSB_HDRC
- device_remove_file(musb->controller, &dev_attr_srp);
- #endif
- #endif
-@@ -2064,7 +2064,7 @@ fail2:
- #ifdef CONFIG_SYSFS
- device_remove_file(musb->controller, &dev_attr_mode);
- device_remove_file(musb->controller, &dev_attr_vbus);
--#ifdef CONFIG_USB_MUSB_OTG
-+#ifdef CONFIG_USB_GADGET_MUSB_HDRC
- device_remove_file(musb->controller, &dev_attr_srp);
- #endif
- #endif
diff --git a/usb.current/usb-musb-fix-urb_dequeue-method.patch b/usb.current/usb-musb-fix-urb_dequeue-method.patch
deleted file mode 100644
index ddd7419e3be7ad..00000000000000
--- a/usb.current/usb-musb-fix-urb_dequeue-method.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:06:55 2009
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Date: Sat, 21 Feb 2009 15:30:45 -0800
-Subject: USB: musb: fix urb_dequeue() method
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Message-ID: <200902211530.45704.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-
-The urb_dequeue() method forgets to unlink 'struct musb_qh' from the
-control or bulk schedules when the URB being cancelled is the only
-one queued to its endpoint. That will cause musb_advance_schedule()
-to block once it reaches 'struct musb_qh' with now empty URB list, so
-URBs queued for other endpoints after the one being dequeued will not
-be served.
-
-Fix by unlinking the QH from the list except when it's already being
-handled (typically by musb_giveback). Since a QH with an empty URB
-list is now supposed to be freed, do that. And remove a now-useless
-check from musb_advance_schedule().
-
-[ dbrownell@users.sourceforge.net: update patch description,
- and fold in a dequeue() comment patch ]
-
-Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Cc: Felipe Balbi <felipe.balbi@nokia.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_host.c | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
---- a/drivers/usb/musb/musb_host.c
-+++ b/drivers/usb/musb/musb_host.c
-@@ -432,7 +432,7 @@ musb_advance_schedule(struct musb *musb,
- else
- qh = musb_giveback(qh, urb, urb->status);
-
-- if (qh && qh->is_ready && !list_empty(&qh->hep->urb_list)) {
-+ if (qh != NULL && qh->is_ready) {
- DBG(4, "... next ep%d %cX urb %p\n",
- hw_ep->epnum, is_in ? 'R' : 'T',
- next_urb(qh));
-@@ -2038,9 +2038,9 @@ static int musb_urb_dequeue(struct usb_h
- goto done;
-
- /* Any URB not actively programmed into endpoint hardware can be
-- * immediately given back. Such an URB must be at the head of its
-+ * immediately given back; that's any URB not at the head of an
- * endpoint queue, unless someday we get real DMA queues. And even
-- * then, it might not be known to the hardware...
-+ * if it's at the head, it might not be known to the hardware...
- *
- * Otherwise abort current transfer, pending dma, etc.; urb->status
- * has already been updated. This is a synchronous abort; it'd be
-@@ -2079,6 +2079,15 @@ static int musb_urb_dequeue(struct usb_h
- qh->is_ready = 0;
- __musb_giveback(musb, urb, 0);
- qh->is_ready = ready;
-+
-+ /* If nothing else (usually musb_giveback) is using it
-+ * and its URB list has emptied, recycle this qh.
-+ */
-+ if (ready && list_empty(&qh->hep->urb_list)) {
-+ qh->hep->hcpriv = NULL;
-+ list_del(&qh->ring);
-+ kfree(qh);
-+ }
- } else
- ret = musb_cleanup_urb(urb, qh, urb->pipe & USB_DIR_IN);
- done:
diff --git a/usb.current/usb-musb-host-endpoint_disable-oops-fixes.patch b/usb.current/usb-musb-host-endpoint_disable-oops-fixes.patch
deleted file mode 100644
index 0eb20519bb362e..00000000000000
--- a/usb.current/usb-musb-host-endpoint_disable-oops-fixes.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:07:26 2009
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Date: Sat, 21 Feb 2009 15:31:01 -0800
-Subject: USB: musb: host endpoint_disable() oops fixes
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Message-ID: <200902211531.01389.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-
-The musb_h_disable() routine can oops in some cases:
-
- - It's not safe to read hep->hcpriv outside musb->lock,
- since it gets changed on completion IRQ paths.
-
- - The list iterators aren't safe to use in that way;
- just remove the first element while !list_empty(),
- so deletions on other code paths can't make trouble.
-
-We need two "scrub the list" loops because only one branch
-should touch hardware and advance the schedule.
-
-[ dbrownell@users.sourceforge.net: massively simplify
- patch description; add key points as code comments ]
-
-Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_host.c | 36 ++++++++++++++++++++++++++----------
- 1 file changed, 26 insertions(+), 10 deletions(-)
-
---- a/drivers/usb/musb/musb_host.c
-+++ b/drivers/usb/musb/musb_host.c
-@@ -2103,15 +2103,16 @@ musb_h_disable(struct usb_hcd *hcd, stru
- unsigned long flags;
- struct musb *musb = hcd_to_musb(hcd);
- u8 is_in = epnum & USB_DIR_IN;
-- struct musb_qh *qh = hep->hcpriv;
-- struct urb *urb, *tmp;
-+ struct musb_qh *qh;
-+ struct urb *urb;
- struct list_head *sched;
-
-- if (!qh)
-- return;
--
- spin_lock_irqsave(&musb->lock, flags);
-
-+ qh = hep->hcpriv;
-+ if (qh == NULL)
-+ goto exit;
-+
- switch (qh->type) {
- case USB_ENDPOINT_XFER_CONTROL:
- sched = &musb->control;
-@@ -2145,13 +2146,28 @@ musb_h_disable(struct usb_hcd *hcd, stru
-
- /* cleanup */
- musb_cleanup_urb(urb, qh, urb->pipe & USB_DIR_IN);
-- } else
-- urb = NULL;
-
-- /* then just nuke all the others */
-- list_for_each_entry_safe_from(urb, tmp, &hep->urb_list, urb_list)
-- musb_giveback(qh, urb, -ESHUTDOWN);
-+ /* Then nuke all the others ... and advance the
-+ * queue on hw_ep (e.g. bulk ring) when we're done.
-+ */
-+ while (!list_empty(&hep->urb_list)) {
-+ urb = next_urb(qh);
-+ urb->status = -ESHUTDOWN;
-+ musb_advance_schedule(musb, urb, qh->hw_ep, is_in);
-+ }
-+ } else {
-+ /* Just empty the queue; the hardware is busy with
-+ * other transfers, and since !qh->is_ready nothing
-+ * will activate any of these as it advances.
-+ */
-+ while (!list_empty(&hep->urb_list))
-+ __musb_giveback(musb, next_urb(qh), -ESHUTDOWN);
-
-+ hep->hcpriv = NULL;
-+ list_del(&qh->ring);
-+ kfree(qh);
-+ }
-+exit:
- spin_unlock_irqrestore(&musb->lock, flags);
- }
-
diff --git a/usb.current/usb-musb-make-davinci-work-in-mainline.patch b/usb.current/usb-musb-make-davinci-work-in-mainline.patch
deleted file mode 100644
index f5025e57bdf2ed..00000000000000
--- a/usb.current/usb-musb-make-davinci-work-in-mainline.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:03:58 2009
-From: David Brownell <david-b@pacbell.net>
-Date: Fri, 20 Feb 2009 13:45:17 -0800
-Subject: usb: musb: make Davinci *work* in mainline
-To: Greg KH <greg@kroah.com>, linux-usb@vger.kernel.org
-Cc: DaVinci <davinci-linux-open-source@linux.davincidsp.com>
-Message-ID: <200902201345.17183.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: David Brownell <dbrownell@users.sourceforge.net>
-
-Now that the musb build fixes for DaVinci got merged (RC3?), kick in
-the other bits needed to get it finally *working* in mainline:
-
- - Use clk_enable()/clk_disable() ... the "always enable USB clocks"
- code this originally relied on has since been removed.
-
- - Initialize the USB device only after the relevant I2C GPIOs are
- available, so the host side can properly enable VBUS.
-
- - Tweak init sequencing to cope with mainline's relatively late init
- of the I2C system bus for power switches, transceivers, and so on.
-
-Sanity tested on DM6664 EVM for host and peripheral modes; that system
-won't boot with CONFIG_PM enabled, so OTG can't yet be tested. Also
-verified on OMAP3.
-
-(Unrelated: correct the MODULE_PARM_DESC spelling of musb_debug.)
-
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Cc: Felipe Balbi <me@felipebalbi.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- arch/arm/mach-davinci/board-evm.c | 6 +++---
- arch/arm/mach-davinci/clock.c | 5 +++++
- arch/arm/mach-davinci/usb.c | 1 +
- drivers/usb/musb/davinci.c | 15 ++++-----------
- drivers/usb/musb/musb_core.c | 8 ++++----
- 5 files changed, 17 insertions(+), 18 deletions(-)
-
---- a/arch/arm/mach-davinci/board-evm.c
-+++ b/arch/arm/mach-davinci/board-evm.c
-@@ -311,6 +311,9 @@ evm_u35_setup(struct i2c_client *client,
- gpio_request(gpio + 7, "nCF_SEL");
- gpio_direction_output(gpio + 7, 1);
-
-+ /* irlml6401 sustains over 3A, switches 5V in under 8 msec */
-+ setup_usb(500, 8);
-+
- return 0;
- }
-
-@@ -417,9 +420,6 @@ static __init void davinci_evm_init(void
- platform_add_devices(davinci_evm_devices,
- ARRAY_SIZE(davinci_evm_devices));
- evm_init_i2c();
--
-- /* irlml6401 sustains over 3A, switches 5V in under 8 msec */
-- setup_usb(500, 8);
- }
-
- static __init void davinci_evm_irq_init(void)
---- a/arch/arm/mach-davinci/clock.c
-+++ b/arch/arm/mach-davinci/clock.c
-@@ -231,6 +231,11 @@ static struct clk davinci_clks[] = {
- .lpsc = DAVINCI_LPSC_GPIO,
- },
- {
-+ .name = "usb",
-+ .rate = &commonrate,
-+ .lpsc = DAVINCI_LPSC_USB,
-+ },
-+ {
- .name = "AEMIFCLK",
- .rate = &commonrate,
- .lpsc = DAVINCI_LPSC_AEMIF,
---- a/arch/arm/mach-davinci/usb.c
-+++ b/arch/arm/mach-davinci/usb.c
-@@ -47,6 +47,7 @@ static struct musb_hdrc_platform_data us
- #elif defined(CONFIG_USB_MUSB_HOST)
- .mode = MUSB_HOST,
- #endif
-+ .clock = "usb",
- .config = &musb_config,
- };
-
---- a/drivers/usb/musb/davinci.c
-+++ b/drivers/usb/musb/davinci.c
-@@ -377,18 +377,8 @@ int __init musb_platform_init(struct mus
- u32 revision;
-
- musb->mregs += DAVINCI_BASE_OFFSET;
--#if 0
-- /* REVISIT there's something odd about clocking, this
-- * didn't appear do the job ...
-- */
-- musb->clock = clk_get(pDevice, "usb");
-- if (IS_ERR(musb->clock))
-- return PTR_ERR(musb->clock);
-
-- status = clk_enable(musb->clock);
-- if (status < 0)
-- return -ENODEV;
--#endif
-+ clk_enable(musb->clock);
-
- /* returns zero if e.g. not clocked */
- revision = musb_readl(tibase, DAVINCI_USB_VERSION_REG);
-@@ -453,5 +443,8 @@ int musb_platform_exit(struct musb *musb
- }
-
- phy_off();
-+
-+ clk_disable(musb->clock);
-+
- return 0;
- }
---- a/drivers/usb/musb/musb_core.c
-+++ b/drivers/usb/musb/musb_core.c
-@@ -115,7 +115,7 @@
-
-
- unsigned musb_debug;
--module_param(musb_debug, uint, S_IRUGO | S_IWUSR);
-+module_param_named(debug, musb_debug, uint, S_IRUGO | S_IWUSR);
- MODULE_PARM_DESC(debug, "Debug message level. Default = 0");
-
- #define DRIVER_AUTHOR "Mentor Graphics, Texas Instruments, Nokia"
-@@ -2243,10 +2243,10 @@ static int __init musb_init(void)
- return platform_driver_probe(&musb_driver, musb_probe);
- }
-
--/* make us init after usbcore and before usb
-- * gadget and host-side drivers start to register
-+/* make us init after usbcore and i2c (transceivers, regulators, etc)
-+ * and before usb gadget and host-side drivers start to register
- */
--subsys_initcall(musb_init);
-+fs_initcall(musb_init);
-
- static void __exit musb_cleanup(void)
- {
diff --git a/usb.current/usb-musb-resume-suspended-root-hub-on-disconnect.patch b/usb.current/usb-musb-resume-suspended-root-hub-on-disconnect.patch
deleted file mode 100644
index 47a734aa362e40..00000000000000
--- a/usb.current/usb-musb-resume-suspended-root-hub-on-disconnect.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:09:07 2009
-From: Anand Gadiyar <gadiyar@ti.com>
-Date: Sat, 21 Feb 2009 15:31:40 -0800
-Subject: USB: musb: resume suspended root hub on disconnect
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, Anand Gadiyar <gadiyar@ti.com>
-Message-ID: <200902211531.40766.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Anand Gadiyar <gadiyar@ti.com>
-
-If this is not done, khubd will not be informed of the disconnect
-and will assume the device is still there.
-
-Easily seen when a hub is connected with no device attached to it;
-it will autosuspend. When the hub is disconnected, it still shows
-up in /proc/bus/usb/devices
-
-Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
-Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_core.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/usb/musb/musb_core.c
-+++ b/drivers/usb/musb/musb_core.c
-@@ -767,6 +767,7 @@ static irqreturn_t musb_stage2_irq(struc
- #ifdef CONFIG_USB_MUSB_HDRC_HCD
- case OTG_STATE_A_HOST:
- case OTG_STATE_A_SUSPEND:
-+ usb_hcd_resume_root_hub(musb_to_hcd(musb));
- musb_root_disconnect(musb);
- if (musb->a_wait_bcon != 0)
- musb_platform_try_idle(musb, jiffies
diff --git a/usb.current/usb-musb-use-right-poll-limit-for-low-speed-devices.patch b/usb.current/usb-musb-use-right-poll-limit-for-low-speed-devices.patch
deleted file mode 100644
index c12bd48a5c55fa..00000000000000
--- a/usb.current/usb-musb-use-right-poll-limit-for-low-speed-devices.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From david-b@pacbell.net Tue Feb 24 21:08:49 2009
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Date: Sat, 21 Feb 2009 15:31:35 -0800
-Subject: USB: musb: use right poll limit for low speed devices
-To: Greg KH <greg@kroah.com>
-Cc: linux-usb@vger.kernel.org, Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Message-ID: <200902211531.35324.david-b@pacbell.net>
-Content-Disposition: inline
-
-
-From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-
-Remove wrongly applied upper limit on the interrupt transfer
-interval for low speed devices (not much of an error per se,
-according to USB specs).
-
-Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
-Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/musb/musb_host.c | 18 ++++++++++--------
- 1 file changed, 10 insertions(+), 8 deletions(-)
-
---- a/drivers/usb/musb/musb_host.c
-+++ b/drivers/usb/musb/musb_host.c
-@@ -1863,19 +1863,21 @@ static int musb_urb_enqueue(
- }
- qh->type_reg = type_reg;
-
-- /* precompute rxinterval/txinterval register */
-- interval = min((u8)16, epd->bInterval); /* log encoding */
-+ /* Precompute RXINTERVAL/TXINTERVAL register */
- switch (qh->type) {
- case USB_ENDPOINT_XFER_INT:
-- /* fullspeed uses linear encoding */
-- if (USB_SPEED_FULL == urb->dev->speed) {
-- interval = epd->bInterval;
-- if (!interval)
-- interval = 1;
-+ /*
-+ * Full/low speeds use the linear encoding,
-+ * high speed uses the logarithmic encoding.
-+ */
-+ if (urb->dev->speed <= USB_SPEED_FULL) {
-+ interval = max_t(u8, epd->bInterval, 1);
-+ break;
- }
- /* FALLTHROUGH */
- case USB_ENDPOINT_XFER_ISOC:
-- /* iso always uses log encoding */
-+ /* ISO always uses logarithmic encoding */
-+ interval = min_t(u8, epd->bInterval, 16);
- break;
- default:
- /* REVISIT we actually want to use NAK limits, hinting to the
diff --git a/usb.current/usb-option-add-benq-3g-modem-information.patch b/usb.current/usb-option-add-benq-3g-modem-information.patch
deleted file mode 100644
index 81907360fbd8b2..00000000000000
--- a/usb.current/usb-option-add-benq-3g-modem-information.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From foo@baz Fri Feb 20 21:13:45 PST 2009
-Date: Fri, 20 Feb 2009 21:13:45 -0800
-To: Greg KH <greg@kroah.com>
-From: Jesse Sung <jsung@novell.com>
-Subject: USB: option: add BenQ 3g modem information
-References: bnc#473918
-
-This patch addes the BenQ 3g modem support to the option driver.
-
-
-From: Jesse Sung <jsung@novell.com>
-Cc: stable <stable@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/serial/option.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/drivers/usb/serial/option.c
-+++ b/drivers/usb/serial/option.c
-@@ -296,6 +296,9 @@ static int option_send_setup(struct tty
- #define ERICSSON_VENDOR_ID 0x0bdb
- #define ERICSSON_PRODUCT_F3507G 0x1900
-
-+#define BENQ_VENDOR_ID 0x04a5
-+#define BENQ_PRODUCT_H10 0x4068
-+
- static struct usb_device_id option_ids[] = {
- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
-@@ -510,6 +513,8 @@ static struct usb_device_id option_ids[]
- { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628) },
- { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH) },
- { USB_DEVICE(ERICSSON_VENDOR_ID, ERICSSON_PRODUCT_F3507G) },
-+ { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) },
-+ { USB_DEVICE(0x1da5, 0x4515) }, /* BenQ H20 */
- { } /* Terminating entry */
- };
- MODULE_DEVICE_TABLE(usb, option_ids);
diff --git a/usb.current/usb-quirk-for-hummingbird-huc56s-conexant-acm-modem.patch b/usb.current/usb-quirk-for-hummingbird-huc56s-conexant-acm-modem.patch
deleted file mode 100644
index 41a1a430b2527b..00000000000000
--- a/usb.current/usb-quirk-for-hummingbird-huc56s-conexant-acm-modem.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From adam_richter2004@yahoo.com Tue Feb 24 21:54:24 2009
-From: Adam Richter <adam_richter2004@yahoo.com>
-Date: Wed, 18 Feb 2009 16:17:15 -0800 (PST)
-Subject: USB: Quirk for Hummingbird huc56s / Conexant ACM modem
-To: Oliver Neukum <oliver@neukum.org>
-Cc: gregkh@suse.de, linux-usb@vger.kernel.org
-Message-ID: <703834.95945.qm@web57701.mail.re3.yahoo.com>
-
-
-
-Signed-off-by: Adam J. Richter <adam_richter2004@yahoo.com>
-Cc: Oliver Neukum <oliver@neukum.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/class/cdc-acm.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/drivers/usb/class/cdc-acm.c
-+++ b/drivers/usb/class/cdc-acm.c
-@@ -1378,6 +1378,13 @@ static struct usb_device_id acm_ids[] =
- },
- { USB_DEVICE(0x22b8, 0x6425), /* Motorola MOTOMAGX phones */
- },
-+ { USB_DEVICE(0x0572, 0x1329), /* Hummingbird huc56s (Conexant) */
-+ .driver_info = NO_UNION_NORMAL, /* union descriptor misplaced on
-+ data interface instead of
-+ communications interface.
-+ Maybe we should define a new
-+ quirk for this. */
-+ },
-
- /* control interfaces with various AT-command sets */
- { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
diff --git a/usb.current/usb-serial-add-support-for-second-revision-of-ericsson-f3507g-wwan-card.patch b/usb.current/usb-serial-add-support-for-second-revision-of-ericsson-f3507g-wwan-card.patch
deleted file mode 100644
index 1acacebeb015ca..00000000000000
--- a/usb.current/usb-serial-add-support-for-second-revision-of-ericsson-f3507g-wwan-card.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From akpm@linux-foundation.org Tue Feb 24 21:13:38 2009
-From: Patrik Kullman <patrik@yes.nu>
-Date: Tue, 24 Feb 2009 13:38:53 -0800
-Subject: USB: serial: add support for second revision of Ericsson F3507G WWAN card
-To: mm-commits@vger.kernel.org
-Cc: patrik@yes.nu, greg@kroah.com
-Message-ID: <200902242138.n1OLcr0l013079@imap1.linux-foundation.org>
-
-From: Patrik Kullman <patrik@yes.nu>
-
-I noticed that my revision of the F3507G WWAN card isn't listed in
-drivers/usb/serial/option.c
-
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/serial/option.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
---- a/drivers/usb/serial/option.c
-+++ b/drivers/usb/serial/option.c
-@@ -294,7 +294,8 @@ static int option_send_setup(struct tty
-
- /* Ericsson products */
- #define ERICSSON_VENDOR_ID 0x0bdb
--#define ERICSSON_PRODUCT_F3507G 0x1900
-+#define ERICSSON_PRODUCT_F3507G_1 0x1900
-+#define ERICSSON_PRODUCT_F3507G_2 0x1902
-
- #define BENQ_VENDOR_ID 0x04a5
- #define BENQ_PRODUCT_H10 0x4068
-@@ -512,7 +513,8 @@ static struct usb_device_id option_ids[]
- { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626) },
- { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628) },
- { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH) },
-- { USB_DEVICE(ERICSSON_VENDOR_ID, ERICSSON_PRODUCT_F3507G) },
-+ { USB_DEVICE(ERICSSON_VENDOR_ID, ERICSSON_PRODUCT_F3507G_1) },
-+ { USB_DEVICE(ERICSSON_VENDOR_ID, ERICSSON_PRODUCT_F3507G_2) },
- { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) },
- { USB_DEVICE(0x1da5, 0x4515) }, /* BenQ H20 */
- { } /* Terminating entry */
diff --git a/usb.current/usb-usb-storage-add-ignore_residue-flag-for-genesys-logic-adapters.patch b/usb.current/usb-usb-storage-add-ignore_residue-flag-for-genesys-logic-adapters.patch
deleted file mode 100644
index ec74863768e6b4..00000000000000
--- a/usb.current/usb-usb-storage-add-ignore_residue-flag-for-genesys-logic-adapters.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From stern@rowland.harvard.edu Tue Feb 24 21:49:23 2009
-From: Alan Stern <stern@rowland.harvard.edu>
-Date: Mon, 23 Feb 2009 12:02:05 -0500 (EST)
-Subject: USB: usb-storage: add IGNORE_RESIDUE flag for Genesys Logic adapters
-To: Greg KH <greg@kroah.com>, <stable@kernel.org>
-Cc: Mike Lampard <mike@mtgambier.net>, Phil Dibowitz <phil@ipom.com>, USB Storage list <usb-storage@lists.one-eyed-alien.net>
-Message-ID: <Pine.LNX.4.44L0.0902231200350.5754-100000@iolanthe.rowland.org>
-
-
-This patch (as1219) adds the IGNORE_RESIDUE flag to the unusual_devs
-entries for Genesys Logic's USB-IDE adapter. Although this device
-usually gets the residue correct, there is one command crucial to the
-operation of CD and DVD drives which it messes up.
-
-Tested-by: Mike Lampard <mike@mtgambier.net>
-Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
-Cc: stable <stable@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/storage/unusual_devs.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/usb/storage/unusual_devs.h
-+++ b/drivers/usb/storage/unusual_devs.h
-@@ -907,13 +907,13 @@ UNUSUAL_DEV( 0x05e3, 0x0701, 0x0000, 0x
- "Genesys Logic",
- "USB to IDE Optical",
- US_SC_DEVICE, US_PR_DEVICE, NULL,
-- US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 ),
-+ US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 | US_FL_IGNORE_RESIDUE ),
-
- UNUSUAL_DEV( 0x05e3, 0x0702, 0x0000, 0xffff,
- "Genesys Logic",
- "USB to IDE Disk",
- US_SC_DEVICE, US_PR_DEVICE, NULL,
-- US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 ),
-+ US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 | US_FL_IGNORE_RESIDUE ),
-
- /* Reported by Ben Efros <ben@pc-doctor.com> */
- UNUSUAL_DEV( 0x05e3, 0x0723, 0x9451, 0x9451,
diff --git a/usb.current/usb-usb_get_string-should-check-the-descriptor-type.patch b/usb.current/usb-usb_get_string-should-check-the-descriptor-type.patch
deleted file mode 100644
index c0c3d8e2306a98..00000000000000
--- a/usb.current/usb-usb_get_string-should-check-the-descriptor-type.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From stern@rowland.harvard.edu Tue Feb 24 22:00:27 2009
-From: Alan Stern <stern@rowland.harvard.edu>
-Date: Fri, 20 Feb 2009 16:33:08 -0500 (EST)
-Subject: USB: usb_get_string should check the descriptor type
-To: Greg KH <greg@kroah.com>
-Cc: USB list <linux-usb@vger.kernel.org>, stable@kernel.org, Guillermo Jarabo <williamjap@gmail.com>
-Message-ID: <Pine.LNX.4.44L0.0902201630470.4145-100000@iolanthe.rowland.org>
-
-From: Alan Stern <stern@rowland.harvard.edu>
-
-This patch (as1218) fixes a problem with a radio-control joystick used
-in the "walkera 4#3" helicopter. This device responds to the initial
-Get-String-Descriptor request for string 0 (which is really the list
-of supported languages) by sending its config descriptor! The
-usb_get_string() routine needs to check whether it got the right
-type of descriptor.
-
-Oddly enough, this sort of check is already present in
-usb_get_descriptor(). The patch changes the error code from -EPROTO
-to -ENODATA, because -EPROTO shows up in so many other contexts to
-indicate a hardware failure rather than a firmware error.
-
-Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
-Tested-by: Guillermo Jarabo <williamjap@gmail.com>
-Cc: stable <stable@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
-===================================================================
----
- drivers/usb/core/message.c | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
---- a/drivers/usb/core/message.c
-+++ b/drivers/usb/core/message.c
-@@ -653,7 +653,7 @@ int usb_get_descriptor(struct usb_device
- if (result <= 0 && result != -ETIMEDOUT)
- continue;
- if (result > 1 && ((u8 *)buf)[1] != type) {
-- result = -EPROTO;
-+ result = -ENODATA;
- continue;
- }
- break;
-@@ -696,8 +696,13 @@ static int usb_get_string(struct usb_dev
- USB_REQ_GET_DESCRIPTOR, USB_DIR_IN,
- (USB_DT_STRING << 8) + index, langid, buf, size,
- USB_CTRL_GET_TIMEOUT);
-- if (!(result == 0 || result == -EPIPE))
-- break;
-+ if (result == 0 || result == -EPIPE)
-+ continue;
-+ if (result > 1 && ((u8 *) buf)[1] != USB_DT_STRING) {
-+ result = -ENODATA;
-+ continue;
-+ }
-+ break;
- }
- return result;
- }
diff --git a/version b/version
index d0eba4a7365d85..91b06cf8793a0d 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.6.29-rc6
+2.6.29-rc6-git5