From: Greg Kroah-Hartman Date: Tue, 24 Aug 2010 18:43:40 +0000 (-0700) Subject: .35 patches X-Git-Tag: v2.6.32.21~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=540b6aa742f2b13b0c0d1530d975b0bee2fc32ff;p=thirdparty%2Fkernel%2Fstable-queue.git .35 patches --- diff --git a/queue-2.6.35/series b/queue-2.6.35/series index 00dc0210e5f..9501727c652 100644 --- a/queue-2.6.35/series +++ b/queue-2.6.35/series @@ -101,3 +101,12 @@ staging-batman-adv-don-t-use-net_dev-after-dev_put.patch staging-batman-adv-don-t-write-in-not-allocated-packet_buff.patch powerpc-fix-typo-in-uimage-target.patch powerpc-initialise-paca-kstack-before-early_setup_secondary.patch +usb-option-add-celot-ct-650.patch +usb-add-device-ids-for-igotu-to-navman.patch +usb-pl2303-new-vendor-and-product-id.patch +usb-cp210x-fix-break-on-off.patch +usb-ftdi_sio-fix-endianess-of-max-packet-size.patch +usb-io_ti-check-firmware-version-before-updating.patch +usb-xhci-remove-buggy-assignment-in-next_trb.patch +usb-ftdi_sio-add-id-for-ionics-plugcomputer.patch +usb-ftdi_sio-add-product-id-for-lenz-li-usb.patch diff --git a/queue-2.6.35/usb-add-device-ids-for-igotu-to-navman.patch b/queue-2.6.35/usb-add-device-ids-for-igotu-to-navman.patch new file mode 100644 index 00000000000..d370ec75efc --- /dev/null +++ b/queue-2.6.35/usb-add-device-ids-for-igotu-to-navman.patch @@ -0,0 +1,42 @@ +From 0eee6a2b2a52e17066a572d30ad2805d3ebc7508 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Fri, 6 Aug 2010 16:36:39 +0100 +Subject: USB: add device IDs for igotu to navman + +From: Ross Burton + +commit 0eee6a2b2a52e17066a572d30ad2805d3ebc7508 upstream. + +I recently bought a i-gotU USB GPS, and whilst hunting around for linux +support discovered this post by you back in 2009: + +http://kerneltrap.org/mailarchive/linux-usb/2009/3/12/5148644 + +>Try the navman driver instead. You can either add the device id to the +> driver and rebuild it, or do this before you plug the device in: +> modprobe navman +> echo -n "0x0df7 0x0900" > /sys/bus/usb-serial/drivers/navman/new_id +> +> and then plug your device in and see if that works. + +I can confirm that the navman driver works with the right device IDs on +my i-gotU GT-600, which has the same device IDs. Attached is a patch +adding the IDs. + +From: Ross Burton +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/navman.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/usb/serial/navman.c ++++ b/drivers/usb/serial/navman.c +@@ -25,6 +25,7 @@ static int debug; + + static const struct usb_device_id id_table[] = { + { USB_DEVICE(0x0a99, 0x0001) }, /* Talon Technology device */ ++ { USB_DEVICE(0x0df7, 0x0900) }, /* Mobile Action i-gotU */ + { }, + }; + MODULE_DEVICE_TABLE(usb, id_table); diff --git a/queue-2.6.35/usb-cp210x-fix-break-on-off.patch b/queue-2.6.35/usb-cp210x-fix-break-on-off.patch new file mode 100644 index 00000000000..2b9881eb4d2 --- /dev/null +++ b/queue-2.6.35/usb-cp210x-fix-break-on-off.patch @@ -0,0 +1,33 @@ +From 72916791cbeb9cc607ae620cfba207dea481cd76 Mon Sep 17 00:00:00 2001 +From: Craig Shelley +Date: Wed, 18 Aug 2010 22:13:39 +0100 +Subject: USB: CP210x Fix Break On/Off + +From: Craig Shelley + +commit 72916791cbeb9cc607ae620cfba207dea481cd76 upstream. + +The definitions for BREAK_ON and BREAK_OFF are inverted, causing break +requests to fail. This patch sets BREAK_ON and BREAK_OFF to the correct +values. + +Signed-off-by: Craig Shelley +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/cp210x.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/usb/serial/cp210x.c ++++ b/drivers/usb/serial/cp210x.c +@@ -222,8 +222,8 @@ static struct usb_serial_driver cp210x_d + #define BITS_STOP_2 0x0002 + + /* CP210X_SET_BREAK */ +-#define BREAK_ON 0x0000 +-#define BREAK_OFF 0x0001 ++#define BREAK_ON 0x0001 ++#define BREAK_OFF 0x0000 + + /* CP210X_(SET_MHS|GET_MDMSTS) */ + #define CONTROL_DTR 0x0001 diff --git a/queue-2.6.35/usb-ftdi_sio-add-id-for-ionics-plugcomputer.patch b/queue-2.6.35/usb-ftdi_sio-add-id-for-ionics-plugcomputer.patch new file mode 100644 index 00000000000..93be726274c --- /dev/null +++ b/queue-2.6.35/usb-ftdi_sio-add-id-for-ionics-plugcomputer.patch @@ -0,0 +1,45 @@ +From 666cc076d284e32d11bfc5ea2fbfc50434cff051 Mon Sep 17 00:00:00 2001 +From: Martin Michlmayr +Date: Tue, 10 Aug 2010 20:31:21 +0100 +Subject: USB: ftdi_sio: Add ID for Ionics PlugComputer + +From: Martin Michlmayr + +commit 666cc076d284e32d11bfc5ea2fbfc50434cff051 upstream. + +Add the ID for the Ionics PlugComputer (). + +Signed-off-by: Martin Michlmayr +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/ftdi_sio.c | 2 ++ + drivers/usb/serial/ftdi_sio_ids.h | 6 ++++++ + 2 files changed, 8 insertions(+) + +--- a/drivers/usb/serial/ftdi_sio.c ++++ b/drivers/usb/serial/ftdi_sio.c +@@ -750,6 +750,8 @@ static struct usb_device_id id_table_com + { USB_DEVICE(FTDI_VID, XVERVE_SIGNALYZER_SH4_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(FTDI_VID, SEGWAY_RMP200_PID) }, ++ { USB_DEVICE(IONICS_VID, IONICS_PLUGCOMPUTER_PID), ++ .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { }, /* Optional parameter entry */ + { } /* Terminating entry */ + }; +--- a/drivers/usb/serial/ftdi_sio_ids.h ++++ b/drivers/usb/serial/ftdi_sio_ids.h +@@ -989,6 +989,12 @@ + #define ALTI2_N3_PID 0x6001 /* Neptune 3 */ + + /* ++ * Ionics PlugComputer ++ */ ++#define IONICS_VID 0x1c0c ++#define IONICS_PLUGCOMPUTER_PID 0x0102 ++ ++/* + * Dresden Elektronik Sensor Terminal Board + */ + #define DE_VID 0x1cf1 /* Vendor ID */ diff --git a/queue-2.6.35/usb-ftdi_sio-add-product-id-for-lenz-li-usb.patch b/queue-2.6.35/usb-ftdi_sio-add-product-id-for-lenz-li-usb.patch new file mode 100644 index 00000000000..4a9e86e6098 --- /dev/null +++ b/queue-2.6.35/usb-ftdi_sio-add-product-id-for-lenz-li-usb.patch @@ -0,0 +1,45 @@ +From ea233f805537f5da16c2b34d85b6c5cf88a0f9aa Mon Sep 17 00:00:00 2001 +From: Galen Seitz +Date: Thu, 19 Aug 2010 11:15:20 -0700 +Subject: USB: ftdi_sio: add product ID for Lenz LI-USB + +From: Galen Seitz + +commit ea233f805537f5da16c2b34d85b6c5cf88a0f9aa upstream. + +Add ftdi product ID for Lenz LI-USB, a model train interface. This +was NOT tested against 2.6.35, but a similar patch was tested with the +CentOS 2.6.18-194.11.1.el5 kernel. It wasn't clear to me what +ordering is being used in ftdi_sio.c, so I inserted the ID after another +model train entry(SPROG_II). + +Signed-off-by: Galen Seitz +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/ftdi_sio.c | 1 + + drivers/usb/serial/ftdi_sio_ids.h | 3 +++ + 2 files changed, 4 insertions(+) + +--- a/drivers/usb/serial/ftdi_sio.c ++++ b/drivers/usb/serial/ftdi_sio.c +@@ -180,6 +180,7 @@ static struct usb_device_id id_table_com + { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_IOBOARD_PID) }, + { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_MINI_IOBOARD_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_SPROG_II) }, ++ { USB_DEVICE(FTDI_VID, FTDI_LENZ_LIUSB_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_XF_632_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_XF_634_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_XF_547_PID) }, +--- a/drivers/usb/serial/ftdi_sio_ids.h ++++ b/drivers/usb/serial/ftdi_sio_ids.h +@@ -110,6 +110,9 @@ + /* Propox devices */ + #define FTDI_PROPOX_JTAGCABLEII_PID 0xD738 + ++/* Lenz LI-USB Computer Interface. */ ++#define FTDI_LENZ_LIUSB_PID 0xD780 ++ + /* + * Xsens Technologies BV products (http://www.xsens.com). + */ diff --git a/queue-2.6.35/usb-ftdi_sio-fix-endianess-of-max-packet-size.patch b/queue-2.6.35/usb-ftdi_sio-fix-endianess-of-max-packet-size.patch new file mode 100644 index 00000000000..9ffb2040bd4 --- /dev/null +++ b/queue-2.6.35/usb-ftdi_sio-fix-endianess-of-max-packet-size.patch @@ -0,0 +1,32 @@ +From d1ab903d2552b2362339b19203c7f01c797cb316 Mon Sep 17 00:00:00 2001 +From: Michael Wileczka +Date: Wed, 18 Aug 2010 07:14:37 -0700 +Subject: USB: ftdi_sio: fix endianess of max packet size + +From: Michael Wileczka + +commit d1ab903d2552b2362339b19203c7f01c797cb316 upstream. + +The USB max packet size (always little-endian) was not being byte +swapped on big-endian systems. + +Applicable since [USB: ftdi_sio: fix hi-speed device packet size calculation] approx 2.6.31 + +Signed-off-by: Michael Wileczka +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/ftdi_sio.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/usb/serial/ftdi_sio.c ++++ b/drivers/usb/serial/ftdi_sio.c +@@ -1376,7 +1376,7 @@ static void ftdi_set_max_packet_size(str + } + + /* set max packet size based on descriptor */ +- priv->max_packet_size = ep_desc->wMaxPacketSize; ++ priv->max_packet_size = le16_to_cpu(ep_desc->wMaxPacketSize); + + dev_info(&udev->dev, "Setting MaxPacketSize %d\n", priv->max_packet_size); + } diff --git a/queue-2.6.35/usb-io_ti-check-firmware-version-before-updating.patch b/queue-2.6.35/usb-io_ti-check-firmware-version-before-updating.patch new file mode 100644 index 00000000000..c969a9ea949 --- /dev/null +++ b/queue-2.6.35/usb-io_ti-check-firmware-version-before-updating.patch @@ -0,0 +1,36 @@ +From 0827a9ff2bbcbb03c33f1a6eb283fe051059482c Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Tue, 17 Aug 2010 15:15:37 -0700 +Subject: USB: io_ti: check firmware version before updating + +From: Greg Kroah-Hartman + +commit 0827a9ff2bbcbb03c33f1a6eb283fe051059482c upstream. + +If we can't read the firmware for a device from the disk, and yet the +device already has a valid firmware image in it, we don't want to +replace the firmware with something invalid. So check the version +number to be less than the current one to verify this is the correct +thing to do. + + +Reported-by: Chris Beauchamp +Tested-by: Chris Beauchamp +Cc: Alan Stern +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/io_ti.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/usb/serial/io_ti.c ++++ b/drivers/usb/serial/io_ti.c +@@ -1151,7 +1151,7 @@ static int download_fw(struct edgeport_s + + /* Check if we have an old version in the I2C and + update if necessary */ +- if (download_cur_ver != download_new_ver) { ++ if (download_cur_ver < download_new_ver) { + dbg("%s - Update I2C dld from %d.%d to %d.%d", + __func__, + firmware_version->Ver_Major, diff --git a/queue-2.6.35/usb-option-add-celot-ct-650.patch b/queue-2.6.35/usb-option-add-celot-ct-650.patch new file mode 100644 index 00000000000..945673363c5 --- /dev/null +++ b/queue-2.6.35/usb-option-add-celot-ct-650.patch @@ -0,0 +1,41 @@ +From 76078dc4fc389185fe467d33428f259ea9e69807 Mon Sep 17 00:00:00 2001 +From: Michael Tokarev +Date: Fri, 6 Aug 2010 18:49:21 +0400 +Subject: USB: option: add Celot CT-650 + +From: Michael Tokarev + +commit 76078dc4fc389185fe467d33428f259ea9e69807 upstream. + +Signed-off-by: Michael Tokarev +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/option.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -368,6 +368,10 @@ static void option_instat_callback(struc + #define OLIVETTI_VENDOR_ID 0x0b3c + #define OLIVETTI_PRODUCT_OLICARD100 0xc000 + ++/* Celot products */ ++#define CELOT_VENDOR_ID 0x211f ++#define CELOT_PRODUCT_CT680M 0x6801 ++ + /* some devices interfaces need special handling due to a number of reasons */ + enum option_blacklist_reason { + OPTION_BLACKLIST_NONE = 0, +@@ -891,10 +895,9 @@ static const struct usb_device_id option + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100F) }, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1011)}, + { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1012)}, +- + { USB_DEVICE(CINTERION_VENDOR_ID, 0x0047) }, +- + { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100) }, ++ { USB_DEVICE(CELOT_VENDOR_ID, CELOT_PRODUCT_CT680M) }, /* CT-650 CDMA 450 1xEVDO modem */ + { } /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(usb, option_ids); diff --git a/queue-2.6.35/usb-pl2303-new-vendor-and-product-id.patch b/queue-2.6.35/usb-pl2303-new-vendor-and-product-id.patch new file mode 100644 index 00000000000..11d472b4e20 --- /dev/null +++ b/queue-2.6.35/usb-pl2303-new-vendor-and-product-id.patch @@ -0,0 +1,44 @@ +From f36ecd5de93e4c85a9e3d25100c6e233155b12e5 Mon Sep 17 00:00:00 2001 +From: Jef Driesen +Date: Mon, 9 Aug 2010 15:55:32 +0200 +Subject: USB: pl2303: New vendor and product id + +From: Jef Driesen + +commit f36ecd5de93e4c85a9e3d25100c6e233155b12e5 upstream. + +Add support for the Zeagle N2iTiON3 dive computer interface. Since +Zeagle devices are actually manufactured by Seiko, this patch will +support other Seiko based models as well. + +Signed-off-by: Jef Driesen +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/pl2303.c | 1 + + drivers/usb/serial/pl2303.h | 4 ++++ + 2 files changed, 5 insertions(+) + +--- a/drivers/usb/serial/pl2303.c ++++ b/drivers/usb/serial/pl2303.c +@@ -86,6 +86,7 @@ static const struct usb_device_id id_tab + { USB_DEVICE(SUPERIAL_VENDOR_ID, SUPERIAL_PRODUCT_ID) }, + { USB_DEVICE(HP_VENDOR_ID, HP_LD220_PRODUCT_ID) }, + { USB_DEVICE(CRESSI_VENDOR_ID, CRESSI_EDY_PRODUCT_ID) }, ++ { USB_DEVICE(ZEAGLE_VENDOR_ID, ZEAGLE_N2ITION3_PRODUCT_ID) }, + { USB_DEVICE(SONY_VENDOR_ID, SONY_QN3USB_PRODUCT_ID) }, + { USB_DEVICE(SANWA_VENDOR_ID, SANWA_PRODUCT_ID) }, + { USB_DEVICE(ADLINK_VENDOR_ID, ADLINK_ND6530_PRODUCT_ID) }, +--- a/drivers/usb/serial/pl2303.h ++++ b/drivers/usb/serial/pl2303.h +@@ -128,6 +128,10 @@ + #define CRESSI_VENDOR_ID 0x04b8 + #define CRESSI_EDY_PRODUCT_ID 0x0521 + ++/* Zeagle dive computer interface */ ++#define ZEAGLE_VENDOR_ID 0x04b8 ++#define ZEAGLE_N2ITION3_PRODUCT_ID 0x0522 ++ + /* Sony, USB data cable for CMD-Jxx mobile phones */ + #define SONY_VENDOR_ID 0x054c + #define SONY_QN3USB_PRODUCT_ID 0x0437 diff --git a/queue-2.6.35/usb-xhci-remove-buggy-assignment-in-next_trb.patch b/queue-2.6.35/usb-xhci-remove-buggy-assignment-in-next_trb.patch new file mode 100644 index 00000000000..8bcd4bf0479 --- /dev/null +++ b/queue-2.6.35/usb-xhci-remove-buggy-assignment-in-next_trb.patch @@ -0,0 +1,38 @@ +From a1669b2c64a9c8b031e0ac5cbf2692337a577f7c Mon Sep 17 00:00:00 2001 +From: John Youn +Date: Mon, 9 Aug 2010 13:56:11 -0700 +Subject: USB: xhci: Remove buggy assignment in next_trb() + +From: John Youn + +commit a1669b2c64a9c8b031e0ac5cbf2692337a577f7c upstream. + +The code to increment the TRB pointer has a slight ambiguity that could +lead to a bug on different compilers. The ANSI C specification does not +specify the precedence of the assignment operator over the postfix +operator. gcc 4.4 produced the correct code (increment the pointer and +assign the value), but a MIPS compiler that one of John's clients used +assigned the old (unincremented) value. + +Remove the unnecessary assignment to make all compilers produce the +correct assembly. + +Signed-off-by: John Youn +Signed-off-by: Sarah Sharp +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/host/xhci-ring.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/usb/host/xhci-ring.c ++++ b/drivers/usb/host/xhci-ring.c +@@ -131,7 +131,7 @@ static void next_trb(struct xhci_hcd *xh + *seg = (*seg)->next; + *trb = ((*seg)->trbs); + } else { +- *trb = (*trb)++; ++ (*trb)++; + } + } +