aboutsummaryrefslogtreecommitdiffstats
path: root/usb
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2008-03-13 13:54:38 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2008-03-13 13:54:38 -0700
commit9abc65f8c4c95fd809f8d9e8c911d2e077c449bf (patch)
tree92a9798dc7f63e0098740574f953426b1e1e3731 /usb
parent1e68a850ab158ff9d4886402ab3d76f21c4ac27a (diff)
downloadpatches-9abc65f8c4c95fd809f8d9e8c911d2e077c449bf.tar.gz
more patch fun
Diffstat (limited to 'usb')
-rw-r--r--usb/drivers-usb-core-devio.c-suppress-warning-with-64k-page_size.patch43
-rw-r--r--usb/usb-add-usb-serial-spcp8x5-driver.patch13
-rw-r--r--usb/usb-enable-usb-persist-by-default.patch2
-rw-r--r--usb/usb-new-quirk-flag-to-avoid-set-interface.patch59
-rw-r--r--usb/usb-remove-config_usb_persist-setting.patch2
-rw-r--r--usb/usb-remove-dev-power.power_state.patch2
-rw-r--r--usb/usb-replace-remaining-__function__-occurrences.patch4
7 files changed, 113 insertions, 12 deletions
diff --git a/usb/drivers-usb-core-devio.c-suppress-warning-with-64k-page_size.patch b/usb/drivers-usb-core-devio.c-suppress-warning-with-64k-page_size.patch
new file mode 100644
index 00000000000000..025e06f603135c
--- /dev/null
+++ b/usb/drivers-usb-core-devio.c-suppress-warning-with-64k-page_size.patch
@@ -0,0 +1,43 @@
+From akpm@linux-foundation.org Thu Mar 13 13:43:17 2008
+From: Andrew Morton <akpm@linux-foundation.org>
+Date: Wed, 12 Mar 2008 13:32:24 -0700
+Subject: drivers/usb/core/devio.c: suppress warning with 64k PAGE_SIZE
+To: mm-commits@vger.kernel.org
+Cc: akpm@linux-foundation.org, gregkh@suse.de, oliver@neukum.org, stern@rowland.harvard.edu, zaitcev@redhat.com
+Message-ID: <200803122041.m2CKfxNN012309@imap1.linux-foundation.org>
+
+From: Andrew Morton <akpm@linux-foundation.org>
+
+drivers/usb/core/devio.c: In function 'proc_control':
+drivers/usb/core/devio.c:657: warning: comparison is always false due to limited range of data type
+
+Cc: Alan Stern <stern@rowland.harvard.edu>
+Cc: Pete Zaitcev <zaitcev@redhat.com>
+Cc: Oliver Neukum <oliver@neukum.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/devio.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/core/devio.c
++++ b/drivers/usb/core/devio.c
+@@ -647,6 +647,7 @@ static int proc_control(struct dev_state
+ struct usbdevfs_ctrltransfer ctrl;
+ unsigned int tmo;
+ unsigned char *tbuf;
++ unsigned wLength;
+ int i, j, ret;
+
+ if (copy_from_user(&ctrl, arg, sizeof(ctrl)))
+@@ -654,7 +655,8 @@ static int proc_control(struct dev_state
+ ret = check_ctrlrecip(ps, ctrl.bRequestType, ctrl.wIndex);
+ if (ret)
+ return ret;
+- if (ctrl.wLength > PAGE_SIZE)
++ wLength = ctrl.wLength; /* To suppress 64k PAGE_SIZE warning */
++ if (wLength > PAGE_SIZE)
+ return -EINVAL;
+ tbuf = (unsigned char *)__get_free_page(GFP_KERNEL);
+ if (!tbuf)
diff --git a/usb/usb-add-usb-serial-spcp8x5-driver.patch b/usb/usb-add-usb-serial-spcp8x5-driver.patch
index 422d8d48eea116..265ee94c4ed1c9 100644
--- a/usb/usb-add-usb-serial-spcp8x5-driver.patch
+++ b/usb/usb-add-usb-serial-spcp8x5-driver.patch
@@ -14,8 +14,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/usb/serial/Kconfig | 10
drivers/usb/serial/Makefile | 3
- drivers/usb/serial/spcp8x5.c | 1076 +++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 1088 insertions(+), 1 deletion(-)
+ drivers/usb/serial/spcp8x5.c | 1075 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 1087 insertions(+), 1 deletion(-)
--- a/drivers/usb/serial/Kconfig
+++ b/drivers/usb/serial/Kconfig
@@ -58,7 +58,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
obj-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat.o
--- /dev/null
+++ b/drivers/usb/serial/spcp8x5.c
-@@ -0,0 +1,1076 @@
+@@ -0,0 +1,1075 @@
+/*
+ * spcp8x5 USB to serial adaptor driver
+ *
@@ -475,11 +475,10 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+ GET_UART_STATUS, GET_UART_STATUS_TYPE,
+ 0, GET_UART_STATUS_MSR, status_buffer, 1, 100);
+ if (ret < 0)
-+ dev_dbg(&dev->dev, "Get MSR = %#x failed (error = %d)",
-+ (int)status_buffer, (int)ret);
++ dev_dbg(&dev->dev, "Get MSR = 0x%p failed (error = %d)",
++ status_buffer, ret);
+
-+ dev_dbg(&dev->dev, "0xc0:0x22:0:6 %d - %x ", (int)ret,
-+ (int)status_buffer);
++ dev_dbg(&dev->dev, "0xc0:0x22:0:6 %d - 0x%p ", ret, status_buffer);
+ status[0] = status_buffer[0];
+ kfree(status_buffer);
+
diff --git a/usb/usb-enable-usb-persist-by-default.patch b/usb/usb-enable-usb-persist-by-default.patch
index 28e8a1b898d192..17ca2b993444bf 100644
--- a/usb/usb-enable-usb-persist-by-default.patch
+++ b/usb/usb-enable-usb-persist-by-default.patch
@@ -29,7 +29,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
-@@ -95,12 +95,14 @@ void usb_detect_quirks(struct usb_device
+@@ -98,12 +98,14 @@ void usb_detect_quirks(struct usb_device
udev->autosuspend_disabled = 1;
#endif
diff --git a/usb/usb-new-quirk-flag-to-avoid-set-interface.patch b/usb/usb-new-quirk-flag-to-avoid-set-interface.patch
new file mode 100644
index 00000000000000..426cfd25eef63a
--- /dev/null
+++ b/usb/usb-new-quirk-flag-to-avoid-set-interface.patch
@@ -0,0 +1,59 @@
+From stern@rowland.harvard.edu Thu Mar 13 13:46:50 2008
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Tue, 11 Mar 2008 10:20:12 -0400 (EDT)
+Subject: USB: new quirk flag to avoid Set-Interface
+To: Greg KH <greg@kroah.com>
+Cc: Graeme Gill <graeme2@argyllcms.com>, USB list <linux-usb@vger.kernel.org>
+Message-ID: <Pine.LNX.4.44L0.0803111018560.3587-100000@iolanthe.rowland.org>
+
+
+This patch (as1057) fixes a problem with the Gretag-Macbeth Huey display
+colorimeter; the device crashes when it receives a Set-Interface
+request. A new quirk (USB_QUIRK_NO_SET_INTF) is introduced and a
+quirks entry is created for this device.
+
+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/core/message.c | 5 ++++-
+ drivers/usb/core/quirks.c | 3 +++
+ include/linux/usb/quirks.h | 3 +++
+ 3 files changed, 10 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/core/message.c
++++ b/drivers/usb/core/message.c
+@@ -1206,7 +1206,10 @@ int usb_set_interface(struct usb_device
+ return -EINVAL;
+ }
+
+- ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
++ if (dev->quirks & USB_QUIRK_NO_SET_INTF)
++ ret = -EPIPE;
++ else
++ ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
+ USB_REQ_SET_INTERFACE, USB_RECIP_INTERFACE,
+ alternate, interface, NULL, 0, 5000);
+
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -50,6 +50,9 @@ static const struct usb_device_id usb_qu
+ /* M-Systems Flash Disk Pioneers */
+ { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
+
++ /* Gretag-Macbeth Huey display colorimeter */
++ { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF },
++
+ /* Action Semiconductor flash disk */
+ { USB_DEVICE(0x10d6, 0x2200), .driver_info =
+ USB_QUIRK_STRING_FETCH_255 },
+--- a/include/linux/usb/quirks.h
++++ b/include/linux/usb/quirks.h
+@@ -9,3 +9,6 @@
+
+ /* device can't resume correctly so reset it instead */
+ #define USB_QUIRK_RESET_RESUME 0x00000002
++
++/* device can't handle Set-Interface requests */
++#define USB_QUIRK_NO_SET_INTF 0x00000004
diff --git a/usb/usb-remove-config_usb_persist-setting.patch b/usb/usb-remove-config_usb_persist-setting.patch
index 59dbd1396b4af9..bfb11c6df8bb11 100644
--- a/usb/usb-remove-config_usb_persist-setting.patch
+++ b/usb/usb-remove-config_usb_persist-setting.patch
@@ -226,7 +226,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
{
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
-@@ -94,4 +94,16 @@ void usb_detect_quirks(struct usb_device
+@@ -97,4 +97,16 @@ void usb_detect_quirks(struct usb_device
if (udev->descriptor.bDeviceClass != USB_CLASS_HUB)
udev->autosuspend_disabled = 1;
#endif
diff --git a/usb/usb-remove-dev-power.power_state.patch b/usb/usb-remove-dev-power.power_state.patch
index d5f5456c56616b..01697d71ffc730 100644
--- a/usb/usb-remove-dev-power.power_state.patch
+++ b/usb/usb-remove-dev-power.power_state.patch
@@ -16,7 +16,7 @@ Part of this patch was written by Pavel Machek.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: David Brownell <david-b@pacbell.net>
-Cc: Pavel Machek <pavel@ucw.cz>
+Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/usb/usb-replace-remaining-__function__-occurrences.patch b/usb/usb-replace-remaining-__function__-occurrences.patch
index 85edaaefd0c92e..55321111be1d35 100644
--- a/usb/usb-replace-remaining-__function__-occurrences.patch
+++ b/usb/usb-replace-remaining-__function__-occurrences.patch
@@ -148,7 +148,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* data interface returns incoming bytes, or we got unthrottled */
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
-@@ -1509,60 +1509,60 @@ static int usbdev_ioctl(struct inode *in
+@@ -1511,60 +1511,60 @@ static int usbdev_ioctl(struct inode *in
switch (cmd) {
case USBDEVFS_CONTROL:
@@ -219,7 +219,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
ret = proc_submiturb(ps, p);
if (ret >= 0)
inode->i_mtime = CURRENT_TIME;
-@@ -1571,60 +1571,60 @@ static int usbdev_ioctl(struct inode *in
+@@ -1573,60 +1573,60 @@ static int usbdev_ioctl(struct inode *in
#ifdef CONFIG_COMPAT
case USBDEVFS_SUBMITURB32: