diff options
| -rw-r--r-- | driver-core/driver-core-internal-struct-dma_coherent_mem-change-type-of-a-member.patch | 33 | ||||
| -rw-r--r-- | series | 15 | ||||
| -rw-r--r-- | tty/n_gsm.c-removed-duplicated-includes.patch | 28 | ||||
| -rw-r--r-- | tty/serial-there-s-no-config-console.patch | 48 | ||||
| -rw-r--r-- | usb/usb-core-driver-fix-coding-styles.patch | 49 | ||||
| -rw-r--r-- | usb/usb-core-endpoint-fix-coding-styles.patch | 44 | ||||
| -rw-r--r-- | usb/usb-documentation-usb-ehci.txt-checkpatch-cleanup.patch | 29 | ||||
| -rw-r--r-- | usb/usb-documentation-usb-hotplug.txt-checkpatch-cleanup.patch | 39 | ||||
| -rw-r--r-- | usb/usb-documentation-usb-linux.inf-checkpatch-cleanup.patch | 102 | ||||
| -rw-r--r-- | usb/usb-ehci-make-config_usb_ehci_tt_newsched-default-to-y.patch | 57 | ||||
| -rw-r--r-- | usb/usb-gadget-use-memdup_user.patch | 67 | ||||
| -rw-r--r-- | usb/usb-host-eliminate-null-dereference.patch | 51 | ||||
| -rw-r--r-- | usb/usb-isd200.c-remove-unnecessary-kmalloc-cast.patch | 28 | ||||
| -rw-r--r-- | usb/usb-iuu_phoenix-add-support-for-different-baud-rates.patch | 191 | ||||
| -rw-r--r-- | usb/usb-otg.h-fix-the-mixup-in-parameters-order.patch | 34 |
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; @@ -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; + } |
