diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-03-13 13:54:38 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-03-13 13:54:38 -0700 |
| commit | 9abc65f8c4c95fd809f8d9e8c911d2e077c449bf (patch) | |
| tree | 92a9798dc7f63e0098740574f953426b1e1e3731 /usb | |
| parent | 1e68a850ab158ff9d4886402ab3d76f21c4ac27a (diff) | |
| download | patches-9abc65f8c4c95fd809f8d9e8c911d2e077c449bf.tar.gz | |
more patch fun
Diffstat (limited to 'usb')
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: |
