aboutsummaryrefslogtreecommitdiffstats
path: root/usb.current
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2010-07-21 13:15:30 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-07-21 13:15:30 -0700
commit1c0bf62749683622d2f566e6e17669eb9dfe5c97 (patch)
tree9c072304e7e89a23cf25f3179cdfa3e93613560f /usb.current
parent37928702e54c4f8229e59cb4a0aef3503cd6076b (diff)
downloadpatches-1c0bf62749683622d2f566e6e17669eb9dfe5c97.tar.gz
more bugfixes
Diffstat (limited to 'usb.current')
-rw-r--r--usb.current/usb-add-quirk-for-broadcom-bt-dongle.patch30
-rw-r--r--usb.current/usb-ftdi-add-support-for-the-rt-system-vx-7-radio-programming-cable.patch48
-rw-r--r--usb.current/usb-sisusbvga-fix-for-usb-3.0.patch42
-rw-r--r--usb.current/usb-usb-storage-fix-initializations-of-urb-fields.patch41
-rw-r--r--usb.current/usb-xhci-set-mult-field-in-endpoint-context-correctly.patch48
5 files changed, 209 insertions, 0 deletions
diff --git a/usb.current/usb-add-quirk-for-broadcom-bt-dongle.patch b/usb.current/usb-add-quirk-for-broadcom-bt-dongle.patch
new file mode 100644
index 00000000000000..e71e8c7843f458
--- /dev/null
+++ b/usb.current/usb-add-quirk-for-broadcom-bt-dongle.patch
@@ -0,0 +1,30 @@
+From oliver@neukum.org Wed Jul 21 12:59:11 2010
+From: Oliver Neukum <oliver@neukum.org>
+To: "Greg Kroah-Hartman" <gregkh@suse.de>
+Subject: USB: add quirk for Broadcom BT dongle
+Date: Wed, 14 Jul 2010 18:26:22 +0200
+Cc: linux-usb@vger.kernel.org, stable@kernel.org
+Message-Id: <201007141826.23016.oliver@neukum.org>
+
+This device needs to be reset when resuming
+
+Signed-off-by: Oliver Neukum <oneukum@suse.de>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/quirks.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -68,6 +68,9 @@ static const struct usb_device_id usb_qu
+ /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */
+ { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF },
+
++ /* Broadcom BCM92035DGROM BT dongle */
++ { USB_DEVICE(0x0a5c, 0x2021), .driver_info = USB_QUIRK_RESET_RESUME },
++
+ /* Action Semiconductor flash disk */
+ { USB_DEVICE(0x10d6, 0x2200), .driver_info =
+ USB_QUIRK_STRING_FETCH_255 },
diff --git a/usb.current/usb-ftdi-add-support-for-the-rt-system-vx-7-radio-programming-cable.patch b/usb.current/usb-ftdi-add-support-for-the-rt-system-vx-7-radio-programming-cable.patch
new file mode 100644
index 00000000000000..c32b671d6d2d05
--- /dev/null
+++ b/usb.current/usb-ftdi-add-support-for-the-rt-system-vx-7-radio-programming-cable.patch
@@ -0,0 +1,48 @@
+From linux-usb-owner@vger.kernel.org Wed Jul 21 13:02:45 2010
+Date: Wed, 21 Jul 2010 08:39:22 -0500
+From: Corey Minyard <minyard@acm.org>
+To: linux-usb@vger.kernel.org
+Subject: USB: FTDI: Add support for the RT System VX-7 radio programming cable
+Message-id: <20100721133922.GC9725@mail.minyard.local>
+Content-disposition: inline
+
+From: Corey Minyard <minyard@acm.org>
+
+RT Systems has put out bunch of ham radio cables based on the FT232RL
+chip. Each cable type has a unique PID, this adds one for the Yaesu VX-7
+radios.
+
+Signed-off-by: Corey Minyard <minyard@acm.org>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 1 +
+ drivers/usb/serial/ftdi_sio_ids.h | 6 ++++++
+ 2 files changed, 7 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -691,6 +691,7 @@ static struct usb_device_id id_table_com
+ { USB_DEVICE(FTDI_VID, FTDI_NDI_AURORA_SCU_PID),
+ .driver_info = (kernel_ulong_t)&ftdi_NDI_device_quirk },
+ { USB_DEVICE(TELLDUS_VID, TELLDUS_TELLSTICK_PID) },
++ { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_SERIAL_VX7_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_MAXSTREAM_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_PHI_FISCO_PID) },
+ { USB_DEVICE(TML_VID, TML_USB_SERIAL_PID) },
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -696,6 +696,12 @@
+ #define TELLDUS_TELLSTICK_PID 0x0C30 /* RF control dongle 433 MHz using FT232RL */
+
+ /*
++ * RT Systems programming cables for various ham radios
++ */
++#define RTSYSTEMS_VID 0x2100 /* Vendor ID */
++#define RTSYSTEMS_SERIAL_VX7_PID 0x9e52 /* Serial converter for VX-7 Radios using FT232RL */
++
++/*
+ * Bayer Ascensia Contour blood glucose meter USB-converter cable.
+ * http://winglucofacts.com/cables/
+ */
diff --git a/usb.current/usb-sisusbvga-fix-for-usb-3.0.patch b/usb.current/usb-sisusbvga-fix-for-usb-3.0.patch
new file mode 100644
index 00000000000000..3ca82a76134ef6
--- /dev/null
+++ b/usb.current/usb-sisusbvga-fix-for-usb-3.0.patch
@@ -0,0 +1,42 @@
+From linux-usb-owner@vger.kernel.org Wed Jul 21 11:41:33 2010
+From: Oliver Neukum <oliver@neukum.org>
+To: Thomas Winischhofer <thomas@winischhofer.net>
+Subject: USB: sisusbvga: Fix for USB 3.0
+Date: Fri, 16 Jul 2010 17:36:26 +0200
+Cc: linux-usb@vger.kernel.org
+Message-Id: <201007161736.26601.oliver@neukum.org>
+
+From: Oliver Neukum <oliver@neukum.org>
+
+Super speed is also fast enough to let sisusbvga operate.
+Therefor expand the checks.
+
+Signed-off-by: Oliver Neukum <oneukum@suse.de>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/misc/sisusbvga/sisusb.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/misc/sisusbvga/sisusb.c
++++ b/drivers/usb/misc/sisusbvga/sisusb.c
+@@ -2436,7 +2436,8 @@ sisusb_open(struct inode *inode, struct
+ }
+
+ if (!sisusb->devinit) {
+- if (sisusb->sisusb_dev->speed == USB_SPEED_HIGH) {
++ if (sisusb->sisusb_dev->speed == USB_SPEED_HIGH ||
++ sisusb->sisusb_dev->speed == USB_SPEED_SUPER) {
+ if (sisusb_init_gfxdevice(sisusb, 0)) {
+ mutex_unlock(&sisusb->lock);
+ dev_err(&sisusb->sisusb_dev->dev, "Failed to initialize device\n");
+@@ -3166,7 +3167,7 @@ static int sisusb_probe(struct usb_inter
+
+ sisusb->present = 1;
+
+- if (dev->speed == USB_SPEED_HIGH) {
++ if (dev->speed == USB_SPEED_HIGH || dev->speed == USB_SPEED_SUPER) {
+ int initscreen = 1;
+ #ifdef INCL_SISUSB_CON
+ if (sisusb_first_vc > 0 &&
diff --git a/usb.current/usb-usb-storage-fix-initializations-of-urb-fields.patch b/usb.current/usb-usb-storage-fix-initializations-of-urb-fields.patch
new file mode 100644
index 00000000000000..2692009f821a97
--- /dev/null
+++ b/usb.current/usb-usb-storage-fix-initializations-of-urb-fields.patch
@@ -0,0 +1,41 @@
+From bob@bobcopeland.com Wed Jul 21 11:55:52 2010
+From: Bob Copeland <me@bobcopeland.com>
+To: stern@rowland.harvard.edu, mdharm-usb@one-eyed-alien.net,
+ gregkh@suse.de
+Cc: linux-usb@vger.kernel.org, lkml@vger.kernel.org,
+ Bob Copeland <me@bobcopeland.com>
+Subject: USB: usb-storage: fix initializations of urb fields
+Date: Mon, 12 Jul 2010 11:18:18 -0400
+Message-Id: <1278947898-8707-1-git-send-email-me@bobcopeland.com>
+
+Commit 0ede76fcec5415ef82a423a95120286895822e2d, "USB: remove uses of
+URB_NO_SETUP_DMA_MAP" introduced a regression by inadvertantly removing
+initialization of the transfer flags. This caused initialization
+failures in the ums-karma driver. Fix the regression by zeroing it.
+
+While at it, as Alan Stern points out, the initializers for
+actual_length and status are handled by the core and error_count
+only matters for isochronous urbs, so they don't need to be set here.
+Remove them.
+
+Signed-off-by: Bob Copeland <me@bobcopeland.com>
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/storage/transport.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+--- a/drivers/usb/storage/transport.c
++++ b/drivers/usb/storage/transport.c
+@@ -139,9 +139,7 @@ static int usb_stor_msg_common(struct us
+
+ /* fill the common fields in the URB */
+ us->current_urb->context = &urb_done;
+- us->current_urb->actual_length = 0;
+- us->current_urb->error_count = 0;
+- us->current_urb->status = 0;
++ us->current_urb->transfer_flags = 0;
+
+ /* we assume that if transfer_buffer isn't us->iobuf then it
+ * hasn't been mapped for DMA. Yes, this is clunky, but it's
diff --git a/usb.current/usb-xhci-set-mult-field-in-endpoint-context-correctly.patch b/usb.current/usb-xhci-set-mult-field-in-endpoint-context-correctly.patch
new file mode 100644
index 00000000000000..e1eeebbf09806b
--- /dev/null
+++ b/usb.current/usb-xhci-set-mult-field-in-endpoint-context-correctly.patch
@@ -0,0 +1,48 @@
+From sarah.a.sharp@linux.intel.com Wed Jul 21 11:51:34 2010
+Date: Sat, 10 Jul 2010 15:48:01 +0200
+From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+To: Greg KH <gregkh@suse.de>
+Cc: linux-usb@vger.kernel.org
+Subject: USB: xhci: Set Mult field in endpoint context correctly.
+Message-ID: <20100710134801.GA2062@xanatos>
+Content-Disposition: inline
+
+The bmAttributes field of the SuperSpeed Endpoint Companion Descriptor has
+different meanings, depending on the endpoint type. If the endpoint is
+isochronous, the bmAttributes field is the maximum number of packets
+within a service interval that this endpoint supports. If the endpoint is
+bulk, it's the number of stream IDs this endpoint supports.
+
+Only set the Mult field of the xHCI endpoint context using the
+bmAttributes field if the endpoint is isochronous, and the device is a
+SuperSpeed device.
+
+Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/xhci-mem.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/host/xhci-mem.c
++++ b/drivers/usb/host/xhci-mem.c
+@@ -1023,7 +1023,7 @@ static inline unsigned int xhci_get_endp
+ return EP_INTERVAL(interval);
+ }
+
+-/* The "Mult" field in the endpoint context is only set for SuperSpeed devices.
++/* The "Mult" field in the endpoint context is only set for SuperSpeed isoc eps.
+ * High speed endpoint descriptors can define "the number of additional
+ * transaction opportunities per microframe", but that goes in the Max Burst
+ * endpoint context field.
+@@ -1031,7 +1031,8 @@ static inline unsigned int xhci_get_endp
+ static inline u32 xhci_get_endpoint_mult(struct usb_device *udev,
+ struct usb_host_endpoint *ep)
+ {
+- if (udev->speed != USB_SPEED_SUPER)
++ if (udev->speed != USB_SPEED_SUPER ||
++ !usb_endpoint_xfer_isoc(&ep->desc))
+ return 0;
+ return ep->ss_ep_comp.bmAttributes;
+ }