aboutsummaryrefslogtreecommitdiffstats
diff options
-rw-r--r--driver-core/driver-core-internal-struct-dma_coherent_mem-change-type-of-a-member.patch33
-rw-r--r--series15
-rw-r--r--tty/n_gsm.c-removed-duplicated-includes.patch28
-rw-r--r--tty/serial-there-s-no-config-console.patch48
-rw-r--r--usb/usb-core-driver-fix-coding-styles.patch49
-rw-r--r--usb/usb-core-endpoint-fix-coding-styles.patch44
-rw-r--r--usb/usb-documentation-usb-ehci.txt-checkpatch-cleanup.patch29
-rw-r--r--usb/usb-documentation-usb-hotplug.txt-checkpatch-cleanup.patch39
-rw-r--r--usb/usb-documentation-usb-linux.inf-checkpatch-cleanup.patch102
-rw-r--r--usb/usb-ehci-make-config_usb_ehci_tt_newsched-default-to-y.patch57
-rw-r--r--usb/usb-gadget-use-memdup_user.patch67
-rw-r--r--usb/usb-host-eliminate-null-dereference.patch51
-rw-r--r--usb/usb-isd200.c-remove-unnecessary-kmalloc-cast.patch28
-rw-r--r--usb/usb-iuu_phoenix-add-support-for-different-baud-rates.patch191
-rw-r--r--usb/usb-otg.h-fix-the-mixup-in-parameters-order.patch34
15 files changed, 814 insertions, 1 deletions
diff --git a/driver-core/driver-core-internal-struct-dma_coherent_mem-change-type-of-a-member.patch b/driver-core/driver-core-internal-struct-dma_coherent_mem-change-type-of-a-member.patch
new file mode 100644
index 00000000000000..33fc9d02ede748
--- /dev/null
+++ b/driver-core/driver-core-internal-struct-dma_coherent_mem-change-type-of-a-member.patch
@@ -0,0 +1,33 @@
+From mitov@issp.bas.bg Tue Jun 15 12:04:02 2010
+From: Marin Mitov <mitov@issp.bas.bg>
+Date: Mon, 31 May 2010 13:03:04 +0300
+Subject: Driver core: internal struct dma_coherent_mem, change type of a member.
+To: "Greg Kroah-Hartman" <gregkh@suse.de>
+Cc: linux-kernel@vger.kernel.org
+Message-ID: <201005311303.04788.mitov@issp.bas.bg>
+Content-Disposition: inline
+
+
+struct dma_coherent_mem in drivers/base/dma-coherent.c
+has member 'device_base' that is of type u32,
+but is assigned value of type dma_addr_t, which may be
+64 bits for x86_64. Change the type to dma_addr_t.
+
+Signed-off-by: Marin Mitov <mitov@issp.bas.bg>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/base/dma-coherent.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/base/dma-coherent.c
++++ b/drivers/base/dma-coherent.c
+@@ -8,7 +8,7 @@
+
+ struct dma_coherent_mem {
+ void *virt_base;
+- u32 device_base;
++ dma_addr_t device_base;
+ int size;
+ int flags;
+ unsigned long *bitmap;
diff --git a/series b/series
index 3232bae3e60553..d4dad78d6eafe7 100644
--- a/series
+++ b/series
@@ -43,10 +43,13 @@ driver-core/uio-remove-irqf_disabled-flag-from-uio_pdrv_genirq.c.patch
driver-core/uio-remove-irqf_disabled-from-uio_sercos3.c.patch
driver-core/uio-remove-irqf_disabled-flag-from-uio_cif.c.patch
driver-core/hotplug-support-kernel-hotplug-sysctl-variable-when-config_net.patch
+driver-core/driver-core-internal-struct-dma_coherent_mem-change-type-of-a-member.patch
#####################################
# TTY patches for after 2.6.35 is out
#####################################
+tty/n_gsm.c-removed-duplicated-includes.patch
+tty/serial-there-s-no-config-console.patch
###################################
# USB stuff for after 2.6.35 is out
@@ -58,8 +61,18 @@ usb/usb-uhci-acquire-spinlock-before-calling-start_rh.patch
usb/usb-speedtouch-fixed-brace-and-spacing-coding-style-issues.patch
usb/usb-speedtouch-fixed-more-brace-and-spacing-coding-style-issues.patch
usb/usb-xhci-remove-obsolete-debugging-printk.patch
+usb/usb-iuu_phoenix-add-support-for-different-baud-rates.patch
+usb/usb-ehci-make-config_usb_ehci_tt_newsched-default-to-y.patch
+usb/usb-gadget-use-memdup_user.patch
+usb/usb-documentation-usb-ehci.txt-checkpatch-cleanup.patch
+usb/usb-documentation-usb-hotplug.txt-checkpatch-cleanup.patch
+usb/usb-documentation-usb-linux.inf-checkpatch-cleanup.patch
+usb/usb-core-driver-fix-coding-styles.patch
+usb/usb-core-endpoint-fix-coding-styles.patch
+usb/usb-otg.h-fix-the-mixup-in-parameters-order.patch
+usb/usb-host-eliminate-null-dereference.patch
+usb/usb-isd200.c-remove-unnecessary-kmalloc-cast.patch
# staging stuff is now in the staging-next tree on git.kernel.org
-
diff --git a/tty/n_gsm.c-removed-duplicated-includes.patch b/tty/n_gsm.c-removed-duplicated-includes.patch
new file mode 100644
index 00000000000000..9e7a1073b6a9a9
--- /dev/null
+++ b/tty/n_gsm.c-removed-duplicated-includes.patch
@@ -0,0 +1,28 @@
+From andrea.gelmini@gelma.net Tue Jun 15 11:58:01 2010
+From: Andrea Gelmini <andrea.gelmini@gelma.net>
+Date: Sun, 23 May 2010 21:48:24 +0200
+Subject: n_gsm.c: removed duplicated #includes
+To: andrea.gelmini@gelma.net
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, Alan Cox <alan@linux.intel.com>
+Message-ID: <1274644105-23285-1-git-send-email-andrea.gelmini@gelma.net>
+
+
+drivers/char/n_gsm.c: linux/timer.h is included more than once.
+
+Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/char/n_gsm.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/char/n_gsm.c
++++ b/drivers/char/n_gsm.c
+@@ -43,7 +43,6 @@
+ #include <linux/sched.h>
+ #include <linux/interrupt.h>
+ #include <linux/tty.h>
+-#include <linux/timer.h>
+ #include <linux/ctype.h>
+ #include <linux/mm.h>
+ #include <linux/string.h>
diff --git a/tty/serial-there-s-no-config-console.patch b/tty/serial-there-s-no-config-console.patch
new file mode 100644
index 00000000000000..c0d324bd4aadcb
--- /dev/null
+++ b/tty/serial-there-s-no-config-console.patch
@@ -0,0 +1,48 @@
+From siccegge@cs.fau.de Tue Jun 15 12:00:56 2010
+From: Christoph Egger <siccegge@cs.fau.de>
+Date: Wed, 26 May 2010 15:33:43 +0200
+Subject: serial: There's no config CONSOLE
+To: Andrew Morton <akpm@linux-foundation.org>, Tejun Heo <tj@kernel.org>, Greg Kroah-Hartman <gregkh@suse.de>, Greg Ungerer <gerg@uclinux.org>, Thiago Farina <tfransosi@gmail.com>, linux-kernel@vger.kernel.org
+Cc: vamos@i4.informatik.uni-erlangen.de
+Message-ID: <20100526133343.GA7508@faui49.informatik.uni-erlangen.de>
+Content-Disposition: inline
+
+
+From: Christoph Egger <siccegge@cs.fau.de>
+
+as there's no config CONSOLE (never has been as far as I can tell) and
+noone has ever missed that piece of code, it should be safe to remove
+it making the kernel a tiny bit less complex.
+
+Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
+Acked-by: Greg Ungerer <gerg@snapgear.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/serial/68328serial.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+--- a/drivers/serial/68328serial.c
++++ b/drivers/serial/68328serial.c
+@@ -78,10 +78,6 @@ struct m68k_serial *m68k_consinfo = 0;
+
+ #define M68K_CLOCK (16667000) /* FIXME: 16MHz is likely wrong */
+
+-#ifdef CONFIG_CONSOLE
+-extern wait_queue_head_t keypress_wait;
+-#endif
+-
+ struct tty_driver *serial_driver;
+
+ /* number of characters left in xmit buffer before we ask for more */
+@@ -300,10 +296,6 @@ static void receive_chars(struct m68k_se
+ return;
+ #endif /* CONFIG_MAGIC_SYSRQ */
+ }
+- /* It is a 'keyboard interrupt' ;-) */
+-#ifdef CONFIG_CONSOLE
+- wake_up(&keypress_wait);
+-#endif
+ }
+
+ if(!tty)
diff --git a/usb/usb-core-driver-fix-coding-styles.patch b/usb/usb-core-driver-fix-coding-styles.patch
new file mode 100644
index 00000000000000..29cb0c4093f3f9
--- /dev/null
+++ b/usb/usb-core-driver-fix-coding-styles.patch
@@ -0,0 +1,49 @@
+From csanchez@neurowork.net Tue Jun 15 11:59:16 2010
+From: <csanchez@neurowork.net>
+Date: Tue, 25 May 2010 10:38:22 -0500
+Subject: USB: core driver: Fix Coding Styles
+To: <gregkh@suse.de>
+Message-ID: <ca0dbd4879ee1fe7276c7098c55445d9@eliveware.com>
+
+
+Fixed coding styles in the core usb driver.
+
+Signed-off-by: Carlos Sánchez Acosta <csanchez@neurowork.net>
+Signed-off-by: Alejandro Sánchez Acosta <asanchez@neurowork.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/driver.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+--- a/drivers/usb/core/driver.c
++++ b/drivers/usb/core/driver.c
+@@ -1749,9 +1749,8 @@ static int usb_runtime_suspend(struct de
+ }
+
+ /* Prevent the parent from suspending immediately after */
+- else if (udev->parent) {
++ else if (udev->parent)
+ udev->parent->last_busy = jiffies;
+- }
+ }
+
+ /* Runtime suspend for a USB interface doesn't mean anything. */
+@@ -1793,7 +1792,7 @@ static int usb_runtime_idle(struct devic
+ return 0;
+ }
+
+-static struct dev_pm_ops usb_bus_pm_ops = {
++static const struct dev_pm_ops usb_bus_pm_ops = {
+ .runtime_suspend = usb_runtime_suspend,
+ .runtime_resume = usb_runtime_resume,
+ .runtime_idle = usb_runtime_idle,
+@@ -1801,7 +1800,7 @@ static struct dev_pm_ops usb_bus_pm_ops
+
+ #else
+
+-#define usb_bus_pm_ops (*(struct dev_pm_ops *) NULL)
++#define usb_bus_pm_ops (*(const struct dev_pm_ops *) NULL)
+
+ #endif /* CONFIG_USB_SUSPEND */
+
diff --git a/usb/usb-core-endpoint-fix-coding-styles.patch b/usb/usb-core-endpoint-fix-coding-styles.patch
new file mode 100644
index 00000000000000..625f418d3568d5
--- /dev/null
+++ b/usb/usb-core-endpoint-fix-coding-styles.patch
@@ -0,0 +1,44 @@
+From csanchez@neurowork.net Tue Jun 15 12:00:11 2010
+From: <csanchez@neurowork.net>
+Date: Tue, 25 May 2010 10:53:17 -0500
+Subject: USB: core endpoint: Fix Coding Styles
+To: <gregkh@suse.de>
+Message-ID: <c02240132dfcd01a8dcef2795093c028@eliveware.com>
+
+
+Fixed coding styles in the core usb endpoint.
+
+Signed-off-by: Carlos Sánchez Acosta <csanchez@neurowork.net>
+Signed-off-by: Alejandro Sánchez Acosta <asanchez@neurowork.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/endpoint.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/core/endpoint.c
++++ b/drivers/usb/core/endpoint.c
+@@ -96,16 +96,21 @@ static ssize_t show_ep_interval(struct d
+
+ switch (usb_endpoint_type(ep->desc)) {
+ case USB_ENDPOINT_XFER_CONTROL:
+- if (ep->udev->speed == USB_SPEED_HIGH) /* uframes per NAK */
++ if (ep->udev->speed == USB_SPEED_HIGH)
++ /* uframes per NAK */
+ interval = ep->desc->bInterval;
+ break;
++
+ case USB_ENDPOINT_XFER_ISOC:
+ interval = 1 << (ep->desc->bInterval - 1);
+ break;
++
+ case USB_ENDPOINT_XFER_BULK:
+- if (ep->udev->speed == USB_SPEED_HIGH && !in) /* uframes per NAK */
++ if (ep->udev->speed == USB_SPEED_HIGH && !in)
++ /* uframes per NAK */
+ interval = ep->desc->bInterval;
+ break;
++
+ case USB_ENDPOINT_XFER_INT:
+ if (ep->udev->speed == USB_SPEED_HIGH)
+ interval = 1 << (ep->desc->bInterval - 1);
diff --git a/usb/usb-documentation-usb-ehci.txt-checkpatch-cleanup.patch b/usb/usb-documentation-usb-ehci.txt-checkpatch-cleanup.patch
new file mode 100644
index 00000000000000..896248ab690e1c
--- /dev/null
+++ b/usb/usb-documentation-usb-ehci.txt-checkpatch-cleanup.patch
@@ -0,0 +1,29 @@
+From andrea.gelmini@gelma.net Tue Jun 15 11:58:24 2010
+From: Andrea Gelmini <andrea.gelmini@gelma.net>
+Date: Sun, 23 May 2010 21:56:41 +0200
+Subject: USB: Documentation/usb/ehci.txt: Checkpatch cleanup
+To: andrea.gelmini@gelma.net
+Cc: David Brownell <dbrownell@users.sourceforge.net>, Greg Kroah-Hartman <gregkh@suse.de>, Randy Dunlap <rdunlap@xenotime.net>, linux-usb@vger.kernel.org, linux-doc@vger.kernel.org
+Message-ID: <1274644605-25181-45-git-send-email-andrea.gelmini@gelma.net>
+
+
+Documentation/usb/ehci.txt:12: ERROR: trailing whitespace
+
+Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ Documentation/usb/ehci.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Documentation/usb/ehci.txt
++++ b/Documentation/usb/ehci.txt
+@@ -9,7 +9,7 @@ compatible with the USB 1.1 standard. It
+ - "Low Speed" 1.5 Mbit/sec
+
+ USB 1.1 only addressed full speed and low speed. High speed devices
+-can be used on USB 1.1 systems, but they slow down to USB 1.1 speeds.
++can be used on USB 1.1 systems, but they slow down to USB 1.1 speeds.
+
+ USB 1.1 devices may also be used on USB 2.0 systems. When plugged
+ into an EHCI controller, they are given to a USB 1.1 "companion"
diff --git a/usb/usb-documentation-usb-hotplug.txt-checkpatch-cleanup.patch b/usb/usb-documentation-usb-hotplug.txt-checkpatch-cleanup.patch
new file mode 100644
index 00000000000000..49355e8bcbf982
--- /dev/null
+++ b/usb/usb-documentation-usb-hotplug.txt-checkpatch-cleanup.patch
@@ -0,0 +1,39 @@
+From andrea.gelmini@gelma.net Tue Jun 15 11:58:35 2010
+From: Andrea Gelmini <andrea.gelmini@gelma.net>
+Date: Sun, 23 May 2010 21:56:42 +0200
+Subject: USB: Documentation/usb/hotplug.txt: Checkpatch cleanup
+To: andrea.gelmini@gelma.net
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, Randy Dunlap <rdunlap@xenotime.net>, linux-usb@vger.kernel.org, linux-doc@vger.kernel.org
+Message-ID: <1274644605-25181-46-git-send-email-andrea.gelmini@gelma.net>
+
+
+Documentation/usb/hotplug.txt:13: ERROR: trailing whitespace
+Documentation/usb/hotplug.txt:87: ERROR: trailing whitespace
+
+Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ Documentation/usb/hotplug.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/Documentation/usb/hotplug.txt
++++ b/Documentation/usb/hotplug.txt
+@@ -10,7 +10,7 @@ immediately usable. That means the syst
+
+ - Bind a driver to that device. Bus frameworks do that using a
+ device driver's probe() routine.
+-
++
+ - Tell other subsystems to configure the new device. Print
+ queues may need to be enabled, networks brought up, disk
+ partitions mounted, and so on. In some cases these will
+@@ -84,7 +84,7 @@ USB MODUTILS SUPPORT
+ Current versions of module-init-tools will create a "modules.usbmap" file
+ which contains the entries from each driver's MODULE_DEVICE_TABLE. Such
+ files can be used by various user mode policy agents to make sure all the
+-right driver modules get loaded, either at boot time or later.
++right driver modules get loaded, either at boot time or later.
+
+ See <linux/usb.h> for full information about such table entries; or look
+ at existing drivers. Each table entry describes one or more criteria to
diff --git a/usb/usb-documentation-usb-linux.inf-checkpatch-cleanup.patch b/usb/usb-documentation-usb-linux.inf-checkpatch-cleanup.patch
new file mode 100644
index 00000000000000..88466b5a8f0c0b
--- /dev/null
+++ b/usb/usb-documentation-usb-linux.inf-checkpatch-cleanup.patch
@@ -0,0 +1,102 @@
+From andrea.gelmini@gelma.net Tue Jun 15 11:58:49 2010
+From: Andrea Gelmini <andrea.gelmini@gelma.net>
+Date: Sun, 23 May 2010 21:56:43 +0200
+Subject: USB: Documentation/usb/linux.inf: Checkpatch cleanup
+To: andrea.gelmini@gelma.net
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, Randy Dunlap <rdunlap@xenotime.net>, linux-usb@vger.kernel.org, linux-doc@vger.kernel.org
+Message-ID: <1274644605-25181-47-git-send-email-andrea.gelmini@gelma.net>
+
+
+Documentation/usb/linux.inf:66: ERROR: trailing whitespace
+Documentation/usb/linux.inf:67: ERROR: trailing whitespace
+Documentation/usb/linux.inf:98: ERROR: trailing whitespace
+Documentation/usb/linux.inf:99: ERROR: trailing whitespace
+Documentation/usb/linux.inf:115: ERROR: trailing whitespace
+Documentation/usb/linux.inf:116: ERROR: trailing whitespace
+Documentation/usb/linux.inf:120: ERROR: trailing whitespace
+Documentation/usb/linux.inf:121: ERROR: trailing whitespace
+Documentation/usb/linux.inf:122: ERROR: trailing whitespace
+Documentation/usb/linux.inf:123: ERROR: trailing whitespace
+Documentation/usb/linux.inf:144: ERROR: trailing whitespace
+Documentation/usb/linux.inf:145: ERROR: trailing whitespace
+Documentation/usb/linux.inf:146: ERROR: trailing whitespace
+Documentation/usb/linux.inf:147: ERROR: trailing whitespace
+Documentation/usb/linux.inf:158: ERROR: trailing whitespace
+
+Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ Documentation/usb/linux.inf | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+--- a/Documentation/usb/linux.inf
++++ b/Documentation/usb/linux.inf
+@@ -63,8 +63,8 @@ HKR, Ndi, DeviceId, 0
+ CopyFiles=RNDIS_CopyFiles_98
+
+ [RNDIS_CopyFiles_98]
+-usb8023.sys, usb8023w.sys, , 0
+-rndismp.sys, rndismpw.sys, , 0
++usb8023.sys, usb8023w.sys, , 0
++rndismp.sys, rndismpw.sys, , 0
+
+ ; Windows Millennium Edition specific sections --------------------
+
+@@ -95,8 +95,8 @@ HKR, Ndi, DeviceId, 0
+ CopyFiles=RNDIS_CopyFiles_ME
+
+ [RNDIS_CopyFiles_ME]
+-usb8023.sys, usb8023m.sys, , 0
+-rndismp.sys, rndismpm.sys, , 0
++usb8023.sys, usb8023m.sys, , 0
++rndismp.sys, rndismpm.sys, , 0
+
+ ; Windows 2000 specific sections ---------------------------------
+
+@@ -112,15 +112,15 @@ AddService = USB_RNDIS, 2, RNDIS_Service
+
+ [RNDIS_CopyFiles_NT]
+ ; no rename of files on Windows 2000, use the 'k' names as is
+-usb8023k.sys, , , 0
+-rndismpk.sys, , , 0
++usb8023k.sys, , , 0
++rndismpk.sys, , , 0
+
+ [RNDIS_ServiceInst_NT]
+ DisplayName = %ServiceDisplayName%
+-ServiceType = 1
+-StartType = 3
+-ErrorControl = 1
+-ServiceBinary = %12%\usb8023k.sys
++ServiceType = 1
++StartType = 3
++ErrorControl = 1
++ServiceBinary = %12%\usb8023k.sys
+ LoadOrderGroup = NDIS
+ AddReg = RNDIS_WMI_AddReg_NT
+
+@@ -141,10 +141,10 @@ AddService = USB_RNDIS, 2, RNDIS_Se
+
+ [RNDIS_ServiceInst_51]
+ DisplayName = %ServiceDisplayName%
+-ServiceType = 1
+-StartType = 3
+-ErrorControl = 1
+-ServiceBinary = %12%\usb8023.sys
++ServiceType = 1
++StartType = 3
++ErrorControl = 1
++ServiceBinary = %12%\usb8023.sys
+ LoadOrderGroup = NDIS
+ AddReg = RNDIS_WMI_AddReg_51
+
+@@ -155,7 +155,7 @@ HKR, , MofImagePath, 0x00020000, "System
+
+ [RNDIS_AddReg_NT]
+ HKR, Ndi, Service, 0, "USB_RNDIS"
+-HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
++HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
+ HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
+
+ [RNDIS_EventLog]
diff --git a/usb/usb-ehci-make-config_usb_ehci_tt_newsched-default-to-y.patch b/usb/usb-ehci-make-config_usb_ehci_tt_newsched-default-to-y.patch
new file mode 100644
index 00000000000000..90a73b3e3576cd
--- /dev/null
+++ b/usb/usb-ehci-make-config_usb_ehci_tt_newsched-default-to-y.patch
@@ -0,0 +1,57 @@
+From stern@rowland.harvard.edu Tue Jun 15 11:56:39 2010
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Fri, 21 May 2010 17:08:21 -0400 (EDT)
+Subject: USB: EHCI: make CONFIG_USB_EHCI_TT_NEWSCHED default to Y
+To: Greg KH <greg@kroah.com>
+Cc: David Brownell <david-b@pacbell.net>, <jacob.benoit.1@gmail.com>
+Message-ID: <Pine.LNX.4.44L0.1005211706390.4257-100000@iolanthe.rowland.org>
+
+
+This patch (as1382) changes the USB_EHCI_TT_NEWSCHED Kconfig option to
+be non-experimental and to default to Y. This option has existed for
+a long time, and I have not heard any complaints concerning it. By
+contrast, several people have reported that their devices could be
+made to work only by enabling the option.
+
+The point of changing the default is to cause the option to be enabled
+by distros that simply use the default settings for esoteric things
+like this.
+
+This change was motivated by Bugzilla #15649.
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+CC: David Brownell <david-b@pacbell.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/Kconfig | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+--- a/drivers/usb/host/Kconfig
++++ b/drivers/usb/host/Kconfig
+@@ -72,8 +72,9 @@ config USB_EHCI_ROOT_HUB_TT
+ from ARC, and has since changed hands a few times.
+
+ config USB_EHCI_TT_NEWSCHED
+- bool "Improved Transaction Translator scheduling (EXPERIMENTAL)"
+- depends on USB_EHCI_HCD && EXPERIMENTAL
++ bool "Improved Transaction Translator scheduling"
++ depends on USB_EHCI_HCD
++ default y
+ ---help---
+ This changes the periodic scheduling code to fill more of the low
+ and full speed bandwidth available from the Transaction Translator
+@@ -84,9 +85,11 @@ config USB_EHCI_TT_NEWSCHED
+ If you have multiple periodic low/fullspeed devices connected to a
+ highspeed USB hub which is connected to a highspeed USB Host
+ Controller, and some of those devices will not work correctly
+- (possibly due to "ENOSPC" or "-28" errors), say Y.
++ (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if
++ you have only one such device and it doesn't work, you could try
++ saying N.
+
+- If unsure, say N.
++ If unsure, say Y.
+
+ config USB_EHCI_BIG_ENDIAN_MMIO
+ bool
diff --git a/usb/usb-gadget-use-memdup_user.patch b/usb/usb-gadget-use-memdup_user.patch
new file mode 100644
index 00000000000000..a940303bdf59b9
--- /dev/null
+++ b/usb/usb-gadget-use-memdup_user.patch
@@ -0,0 +1,67 @@
+From julia@diku.dk Tue Jun 15 11:57:09 2010
+From: Julia Lawall <julia@diku.dk>
+Date: Sat, 22 May 2010 10:26:22 +0200 (CEST)
+Subject: USB: gadget: Use memdup_user
+To: David Brownell <dbrownell@users.sourceforge.net>, Greg Kroah-Hartman <gregkh@suse.de>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
+Message-ID: <Pine.LNX.4.64.1005221026050.13021@ask.diku.dk>
+
+
+From: Julia Lawall <julia@diku.dk>
+
+Use memdup_user when user data is immediately copied into the
+allocated region.
+
+The semantic patch that makes this change is as follows:
+(http://coccinelle.lip6.fr/)
+
+// <smpl>
+@@
+expression from,to,size,flag;
+position p;
+identifier l1,l2;
+@@
+
+- to = \(kmalloc@p\|kzalloc@p\)(size,flag);
++ to = memdup_user(from,size);
+ if (
+- to==NULL
++ IS_ERR(to)
+ || ...) {
+ <+... when != goto l1;
+- -ENOMEM
++ PTR_ERR(to)
+ ...+>
+ }
+- if (copy_from_user(to, from, size) != 0) {
+- <+... when != goto l2;
+- -EFAULT
+- ...+>
+- }
+// </smpl>
+
+Signed-off-by: Julia Lawall <julia@diku.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/inode.c | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+--- a/drivers/usb/gadget/inode.c
++++ b/drivers/usb/gadget/inode.c
+@@ -1867,13 +1867,9 @@ dev_config (struct file *fd, const char
+ buf += 4;
+ length -= 4;
+
+- kbuf = kmalloc (length, GFP_KERNEL);
+- if (!kbuf)
+- return -ENOMEM;
+- if (copy_from_user (kbuf, buf, length)) {
+- kfree (kbuf);
+- return -EFAULT;
+- }
++ kbuf = memdup_user(buf, length);
++ if (IS_ERR(kbuf))
++ return PTR_ERR(kbuf);
+
+ spin_lock_irq (&dev->lock);
+ value = -EINVAL;
diff --git a/usb/usb-host-eliminate-null-dereference.patch b/usb/usb-host-eliminate-null-dereference.patch
new file mode 100644
index 00000000000000..48821b45b5504f
--- /dev/null
+++ b/usb/usb-host-eliminate-null-dereference.patch
@@ -0,0 +1,51 @@
+From julia@diku.dk Tue Jun 15 12:02:59 2010
+From: Julia Lawall <julia@diku.dk>
+Date: Thu, 27 May 2010 18:10:08 +0200 (CEST)
+Subject: USB: host: Eliminate NULL dereference
+To: David Vrabel <david.vrabel@csr.com>, Greg Kroah-Hartman <gregkh@suse.de>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
+Message-ID: <Pine.LNX.4.64.1005271809090.5422@ask.diku.dk>
+
+
+From: Julia Lawall <julia@diku.dk>
+
+The test above allows std to be NULL, so check that std is not NULL before
+doing the dereference.
+
+A simplified version of the semantic match that finds this problem is as
+follows: (http://coccinelle.lip6.fr/)
+
+// <smpl>
+@r exists@
+expression E,E1;
+identifier f;
+statement S1,S2,S3;
+@@
+
+if ((E == NULL && ...) || ...)
+{
+ ... when != if (...) S1 else S2
+ when != E = E1
+* E->f
+ ... when any
+}
+else S3
+// </smpl>
+
+Signed-off-by: Julia Lawall <julia@diku.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/whci/qset.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/host/whci/qset.c
++++ b/drivers/usb/host/whci/qset.c
+@@ -475,7 +475,7 @@ static int qset_add_urb_sg(struct whc *w
+ || (prev_end & (WHCI_PAGE_SIZE-1))
+ || (dma_addr & (WHCI_PAGE_SIZE-1))
+ || std->len + WHCI_PAGE_SIZE > QTD_MAX_XFER_SIZE) {
+- if (std->len % qset->max_packet != 0)
++ if (std && std->len % qset->max_packet != 0)
+ return -EINVAL;
+ std = qset_new_std(whc, qset, urb, mem_flags);
+ if (std == NULL) {
diff --git a/usb/usb-isd200.c-remove-unnecessary-kmalloc-cast.patch b/usb/usb-isd200.c-remove-unnecessary-kmalloc-cast.patch
new file mode 100644
index 00000000000000..5332f5327227f6
--- /dev/null
+++ b/usb/usb-isd200.c-remove-unnecessary-kmalloc-cast.patch
@@ -0,0 +1,28 @@
+From joe@perches.com Tue Jun 15 12:03:38 2010
+From: Joe Perches <joe@perches.com>
+Date: Mon, 31 May 2010 20:23:19 -0700
+Subject: USB: isd200.c: Remove unnecessary kmalloc cast
+To: linux-kernel@vger.kernel.org
+Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>, linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net
+Message-ID: <75c229f6bedef9b1924ef1d7daaf4df383e06fa7.1275360951.git.joe@perches.com>
+
+
+Signed-off-by: Joe Perches <joe@perches.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/storage/isd200.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/usb/storage/isd200.c
++++ b/drivers/usb/storage/isd200.c
+@@ -1456,8 +1456,7 @@ static int isd200_init_info(struct us_da
+ int retStatus = ISD200_GOOD;
+ struct isd200_info *info;
+
+- info = (struct isd200_info *)
+- kzalloc(sizeof(struct isd200_info), GFP_KERNEL);
++ info = kzalloc(sizeof(struct isd200_info), GFP_KERNEL);
+ if (!info)
+ retStatus = ISD200_ERROR;
+ else {
diff --git a/usb/usb-iuu_phoenix-add-support-for-different-baud-rates.patch b/usb/usb-iuu_phoenix-add-support-for-different-baud-rates.patch
new file mode 100644
index 00000000000000..1f729075ebcd41
--- /dev/null
+++ b/usb/usb-iuu_phoenix-add-support-for-different-baud-rates.patch
@@ -0,0 +1,191 @@
+From James@superbug.co.uk Tue Jun 15 11:56:05 2010
+From: James Courtier-Dutton <James@superbug.co.uk>
+Date: Fri, 21 May 2010 11:53:25 +0100
+Subject: USB: iuu_phoenix: Add support for different baud rates.
+To: Greg Kroah-Hartman <gregkh@suse.de>, James.Dutton@gmail.com
+Message-ID: <4BF66625.60509@superbug.co.uk>
+
+
+From: James Courtier-Dutton <James@superbug.co.uk>
+
+Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/iuu_phoenix.c | 54 +++++++++++++++++++++++++++++----------
+ 1 file changed, 41 insertions(+), 13 deletions(-)
+
+--- a/drivers/usb/serial/iuu_phoenix.c
++++ b/drivers/usb/serial/iuu_phoenix.c
+@@ -1,6 +1,8 @@
+ /*
+ * Infinity Unlimited USB Phoenix driver
+ *
++ * Copyright (C) 2010 James Courtier-Dutton (James@superbug.co.uk)
++
+ * Copyright (C) 2007 Alain Degreffe (eczema@ecze.com)
+ *
+ * Original code taken from iuutool (Copyright (C) 2006 Juan Carlos Borrás)
+@@ -40,7 +42,7 @@ static int debug;
+ /*
+ * Version Information
+ */
+-#define DRIVER_VERSION "v0.11"
++#define DRIVER_VERSION "v0.12"
+ #define DRIVER_DESC "Infinity USB Unlimited Phoenix driver"
+
+ static const struct usb_device_id id_table[] = {
+@@ -81,6 +83,9 @@ struct iuu_private {
+ u8 *dbgbuf; /* debug buffer */
+ u8 len;
+ int vcc; /* vcc (either 3 or 5 V) */
++ u32 baud;
++ u32 boost;
++ u32 clk;
+ };
+
+
+@@ -157,13 +162,14 @@ static int iuu_tiocmset(struct tty_struc
+ port->number, set, clear);
+
+ spin_lock_irqsave(&priv->lock, flags);
+- if (set & TIOCM_RTS)
+- priv->tiostatus = TIOCM_RTS;
+
+- if (!(set & TIOCM_RTS) && priv->tiostatus == TIOCM_RTS) {
++ if ((set & TIOCM_RTS) && !(priv->tiostatus == TIOCM_RTS)) {
+ dbg("%s TIOCMSET RESET called !!!", __func__);
+ priv->reset = 1;
+ }
++ if (set & TIOCM_RTS)
++ priv->tiostatus = TIOCM_RTS;
++
+ spin_unlock_irqrestore(&priv->lock, flags);
+ return 0;
+ }
+@@ -851,20 +857,24 @@ static int iuu_uart_off(struct usb_seria
+ return status;
+ }
+
+-static int iuu_uart_baud(struct usb_serial_port *port, u32 baud,
++static int iuu_uart_baud(struct usb_serial_port *port, u32 baud_base,
+ u32 *actual, u8 parity)
+ {
+ int status;
++ u32 baud;
+ u8 *dataout;
+ u8 DataCount = 0;
+ u8 T1Frekvens = 0;
+ u8 T1reload = 0;
+ unsigned int T1FrekvensHZ = 0;
+
++ dbg("%s - enter baud_base=%d", __func__, baud_base);
+ dataout = kmalloc(sizeof(u8) * 5, GFP_KERNEL);
+
+ if (!dataout)
+ return -ENOMEM;
++ /*baud = (((priv->clk / 35) * baud_base) / 100000); */
++ baud = baud_base;
+
+ if (baud < 1200 || baud > 230400) {
+ kfree(dataout);
+@@ -948,15 +958,20 @@ static void iuu_set_termios(struct tty_s
+ struct usb_serial_port *port, struct ktermios *old_termios)
+ {
+ const u32 supported_mask = CMSPAR|PARENB|PARODD;
+-
++ struct iuu_private *priv = usb_get_serial_port_data(port);
+ unsigned int cflag = tty->termios->c_cflag;
+ int status;
+ u32 actual;
+ u32 parity;
+ int csize = CS7;
+- int baud = 9600; /* Fixed for the moment */
++ int baud;
+ u32 newval = cflag & supported_mask;
+
++ /* Just use the ospeed. ispeed should be the same. */
++ baud = tty->termios->c_ospeed;
++
++ dbg("%s - enter c_ospeed or baud=%d", __func__, baud);
++
+ /* compute the parity parameter */
+ parity = 0;
+ if (cflag & CMSPAR) { /* Using mark space */
+@@ -976,15 +991,15 @@ static void iuu_set_termios(struct tty_s
+
+ /* set it */
+ status = iuu_uart_baud(port,
+- (clockmode == 2) ? 16457 : 9600 * boost / 100,
++ baud * priv->boost / 100,
+ &actual, parity);
+
+ /* set the termios value to the real one, so the user now what has
+ * changed. We support few fields so its easies to copy the old hw
+ * settings back over and then adjust them
+ */
+- if (old_termios)
+- tty_termios_copy_hw(tty->termios, old_termios);
++ if (old_termios)
++ tty_termios_copy_hw(tty->termios, old_termios);
+ if (status != 0) /* Set failed - return old bits */
+ return;
+ /* Re-encode speed, parity and csize */
+@@ -1018,6 +1033,7 @@ static void iuu_close(struct usb_serial_
+
+ static void iuu_init_termios(struct tty_struct *tty)
+ {
++ dbg("%s - enter", __func__);
+ *(tty->termios) = tty_std_termios;
+ tty->termios->c_cflag = CLOCAL | CREAD | CS8 | B9600
+ | TIOCM_CTS | CSTOPB | PARENB;
+@@ -1033,10 +1049,16 @@ static int iuu_open(struct tty_struct *t
+ struct usb_serial *serial = port->serial;
+ u8 *buf;
+ int result;
++ int baud;
+ u32 actual;
+ struct iuu_private *priv = usb_get_serial_port_data(port);
+
+- dbg("%s - port %d", __func__, port->number);
++ baud = tty->termios->c_ospeed;
++ tty->termios->c_ispeed = baud;
++ /* Re-encode speed */
++ tty_encode_baud_rate(tty, baud, baud);
++
++ dbg("%s - port %d, baud %d", __func__, port->number, baud);
+ usb_clear_halt(serial->dev, port->write_urb->pipe);
+ usb_clear_halt(serial->dev, port->read_urb->pipe);
+
+@@ -1071,23 +1093,29 @@ static int iuu_open(struct tty_struct *t
+ iuu_uart_on(port);
+ if (boost < 100)
+ boost = 100;
++ priv->boost = boost;
++ priv->baud = baud;
+ switch (clockmode) {
+ case 2: /* 3.680 Mhz */
++ priv->clk = IUU_CLK_3680000;
+ iuu_clk(port, IUU_CLK_3680000 * boost / 100);
+ result =
+- iuu_uart_baud(port, 9600 * boost / 100, &actual,
++ iuu_uart_baud(port, baud * boost / 100, &actual,
+ IUU_PARITY_EVEN);
+ break;
+ case 3: /* 6.00 Mhz */
+ iuu_clk(port, IUU_CLK_6000000 * boost / 100);
++ priv->clk = IUU_CLK_6000000;
++ /* Ratio of 6000000 to 3500000 for baud 9600 */
+ result =
+ iuu_uart_baud(port, 16457 * boost / 100, &actual,
+ IUU_PARITY_EVEN);
+ break;
+ default: /* 3.579 Mhz */
+ iuu_clk(port, IUU_CLK_3579000 * boost / 100);
++ priv->clk = IUU_CLK_3579000;
+ result =
+- iuu_uart_baud(port, 9600 * boost / 100, &actual,
++ iuu_uart_baud(port, baud * boost / 100, &actual,
+ IUU_PARITY_EVEN);
+ }
+
diff --git a/usb/usb-otg.h-fix-the-mixup-in-parameters-order.patch b/usb/usb-otg.h-fix-the-mixup-in-parameters-order.patch
new file mode 100644
index 00000000000000..db9a5d673af3b7
--- /dev/null
+++ b/usb/usb-otg.h-fix-the-mixup-in-parameters-order.patch
@@ -0,0 +1,34 @@
+From grinberg@compulab.co.il Tue Jun 15 12:02:33 2010
+From: Igor Grinberg <grinberg@compulab.co.il>
+Date: Thu, 27 May 2010 09:32:13 +0300
+Subject: USB: otg.h: Fix the mixup in parameters order.
+To: Greg Kroah-Hartman <gregkh@suse.de>
+Cc: linux-usb@vger.kernel.org, Igor Grinberg <grinberg@compulab.co.il>
+Message-ID: <1274941933-16193-1-git-send-email-grinberg@compulab.co.il>
+
+
+otg_io_write() function does not follow the declaration of
+struct otg_io_access_ops.
+
+Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ include/linux/usb/otg.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/include/linux/usb/otg.h
++++ b/include/linux/usb/otg.h
+@@ -146,10 +146,10 @@ static inline int otg_io_read(struct otg
+ return -EINVAL;
+ }
+
+-static inline int otg_io_write(struct otg_transceiver *otg, u32 reg, u32 val)
++static inline int otg_io_write(struct otg_transceiver *otg, u32 val, u32 reg)
+ {
+ if (otg->io_ops && otg->io_ops->write)
+- return otg->io_ops->write(otg, reg, val);
++ return otg->io_ops->write(otg, val, reg);
+
+ return -EINVAL;
+ }