aboutsummaryrefslogtreecommitdiffstats
path: root/usb.current
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2009-04-06 12:27:57 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2009-04-06 12:27:57 -0700
commitb4a8f06022ecf4c5c279a61de89a1d3758e08e0e (patch)
tree91c7648c3548b83655ddf18bbca0dedadb79d49f /usb.current
parent720460da39aa61e2e5e368b916e6c6252e3306b4 (diff)
downloadpatches-b4a8f06022ecf4c5c279a61de89a1d3758e08e0e.tar.gz
bugfixes
Diffstat (limited to 'usb.current')
-rw-r--r--usb.current/usb-cdc-acm-zydas-1602-identifier-needed.patch31
-rw-r--r--usb.current/usb-ftdi_sio-add-vendor-project-id-for-jeti-specbos-1201-spectrometer.patch45
-rw-r--r--usb.current/usb-gadget-fix-ethernet-link-reports-to-ethtool.patch51
-rw-r--r--usb.current/usb-symbol-remove-various-bits-of-left-over-junk.patch112
-rw-r--r--usb.current/usb-tty-pl2303-needs-identifiers-for-siemens-s81-as-well-as-ef81.patch41
5 files changed, 280 insertions, 0 deletions
diff --git a/usb.current/usb-cdc-acm-zydas-1602-identifier-needed.patch b/usb.current/usb-cdc-acm-zydas-1602-identifier-needed.patch
new file mode 100644
index 00000000000000..ac555bc23959d2
--- /dev/null
+++ b/usb.current/usb-cdc-acm-zydas-1602-identifier-needed.patch
@@ -0,0 +1,31 @@
+From alan@lxorguk.ukuu.org.uk Mon Apr 6 12:12:24 2009
+From: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Date: Thu, 26 Mar 2009 20:50:02 +0000
+Subject: USB: cdc-acm: zydas 1602 identifier needed
+To: greg@kroah.com
+Message-ID: <20090326204959.5020.80841.stgit@localhost.localdomain>
+
+
+Bugzilla #9095 and a couple of other confirmations
+
+Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ drivers/usb/class/cdc-acm.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/usb/class/cdc-acm.c
++++ b/drivers/usb/class/cdc-acm.c
+@@ -1358,6 +1358,9 @@ static struct usb_device_id acm_ids[] =
+ { USB_DEVICE(0x079b, 0x000f), /* BT On-Air USB MODEM */
+ .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
+ },
++ { USB_DEVICE(0x0ace, 0x1602), /* ZyDAS 56K USB MODEM */
++ .driver_info = SINGLE_RX_URB,
++ },
+ { USB_DEVICE(0x0ace, 0x1608), /* ZyDAS 56K USB MODEM */
+ .driver_info = SINGLE_RX_URB, /* firmware bug */
+ },
diff --git a/usb.current/usb-ftdi_sio-add-vendor-project-id-for-jeti-specbos-1201-spectrometer.patch b/usb.current/usb-ftdi_sio-add-vendor-project-id-for-jeti-specbos-1201-spectrometer.patch
new file mode 100644
index 00000000000000..989c6214311e30
--- /dev/null
+++ b/usb.current/usb-ftdi_sio-add-vendor-project-id-for-jeti-specbos-1201-spectrometer.patch
@@ -0,0 +1,45 @@
+From jacmet@sunsite.dk Mon Apr 6 12:13:35 2009
+From: Peter Korsgaard <jacmet@sunsite.dk>
+Date: Wed, 25 Mar 2009 11:32:59 +0100
+Subject: USB: ftdi_sio: add vendor/project id for JETI specbos 1201 spectrometer
+To: gregkh@suse.de
+Cc: Peter Korsgaard <jacmet@sunsite.dk>
+Message-ID: <1237977179-9716-1-git-send-email-jacmet@sunsite.dk>
+
+
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+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.h | 7 +++++++
+ 2 files changed, 8 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -668,6 +668,7 @@ static struct usb_device_id id_table_com
+ { USB_DEVICE(DE_VID, WHT_PID) },
+ { USB_DEVICE(ADI_VID, ADI_GNICE_PID),
+ .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
++ { USB_DEVICE(JETI_VID, JETI_SPC1201_PID) },
+ { }, /* Optional parameter entry */
+ { } /* Terminating entry */
+ };
+--- a/drivers/usb/serial/ftdi_sio.h
++++ b/drivers/usb/serial/ftdi_sio.h
+@@ -913,6 +913,13 @@
+ #define ADI_GNICE_PID 0xF000
+
+ /*
++ * JETI SPECTROMETER SPECBOS 1201
++ * http://www.jeti.com/products/sys/scb/scb1201.php
++ */
++#define JETI_VID 0x0c6c
++#define JETI_SPC1201_PID 0x04b2
++
++/*
+ * BmRequestType: 1100 0000b
+ * bRequest: FTDI_E2_READ
+ * wValue: 0
diff --git a/usb.current/usb-gadget-fix-ethernet-link-reports-to-ethtool.patch b/usb.current/usb-gadget-fix-ethernet-link-reports-to-ethtool.patch
new file mode 100644
index 00000000000000..898313cf2cc4f4
--- /dev/null
+++ b/usb.current/usb-gadget-fix-ethernet-link-reports-to-ethtool.patch
@@ -0,0 +1,51 @@
+From david-b@pacbell.net Mon Apr 6 10:37:39 2009
+From: Jonathan McDowell <noodles@earth.li>
+Date: Thu, 26 Mar 2009 00:45:27 -0700
+Subject: usb gadget: fix ethernet link reports to ethtool
+To: Greg KH <greg@kroah.com>, linux-usb@vger.kernel.org
+Cc: Jonathan McDowell <noodles@earth.li>
+Message-ID: <200903260045.27978.david-b@pacbell.net>
+
+
+From: Jonathan McDowell <noodles@earth.li>
+
+The g_ether USB gadget driver currently decides whether or not there's a
+link to report back for eth_get_link based on if the USB link speed is
+set. The USB gadget speed is however often set even before the device is
+enumerated. It seems more sensible to only report a "link" if we're
+actually connected to a host that wants to talk to us. The patch below
+does this for me - tested with the PXA27x UDC driver.
+
+Signed-off-by: Jonathan McDowell <noodles@earth.li>
+Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
+Cc: stable <stable@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/u_ether.c | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+--- a/drivers/usb/gadget/u_ether.c
++++ b/drivers/usb/gadget/u_ether.c
+@@ -175,12 +175,6 @@ static void eth_get_drvinfo(struct net_d
+ strlcpy(p->bus_info, dev_name(&dev->gadget->dev), sizeof p->bus_info);
+ }
+
+-static u32 eth_get_link(struct net_device *net)
+-{
+- struct eth_dev *dev = netdev_priv(net);
+- return dev->gadget->speed != USB_SPEED_UNKNOWN;
+-}
+-
+ /* REVISIT can also support:
+ * - WOL (by tracking suspends and issuing remote wakeup)
+ * - msglevel (implies updated messaging)
+@@ -189,7 +183,7 @@ static u32 eth_get_link(struct net_devic
+
+ static struct ethtool_ops ops = {
+ .get_drvinfo = eth_get_drvinfo,
+- .get_link = eth_get_link
++ .get_link = ethtool_op_get_link,
+ };
+
+ static void defer_kevent(struct eth_dev *dev, int flag)
diff --git a/usb.current/usb-symbol-remove-various-bits-of-left-over-junk.patch b/usb.current/usb-symbol-remove-various-bits-of-left-over-junk.patch
new file mode 100644
index 00000000000000..a16e4156c5b1cf
--- /dev/null
+++ b/usb.current/usb-symbol-remove-various-bits-of-left-over-junk.patch
@@ -0,0 +1,112 @@
+From alan@lxorguk.ukuu.org.uk Mon Apr 6 12:16:20 2009
+From: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Date: Wed, 01 Apr 2009 14:59:17 +0100
+Subject: USB: symbol: Remove various bits of left over junk
+To: torvalds@linux-foundation.org, greg@kroah.com
+Message-ID: <20090401135903.22486.60017.stgit@localhost.localdomain>
+
+
+There are various bits of code here that are unfinished and instead of
+being harmless either confuse or spew stuff into the logs at higher than
+debug level. They can and should go away.
+
+Also remove the bogus use of tty->lowlatency. We fixed the need for this hack
+long ago (with the flip buffer rewrite) but people keep copying it into drivers.
+
+Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/symbolserial.c | 67 --------------------------------------
+ 1 file changed, 67 deletions(-)
+
+--- a/drivers/usb/serial/symbolserial.c
++++ b/drivers/usb/serial/symbolserial.c
+@@ -139,14 +139,6 @@ static int symbol_open(struct tty_struct
+ priv->port = port;
+ spin_unlock_irqrestore(&priv->lock, flags);
+
+- /*
+- * Force low_latency on so that our tty_push actually forces the data
+- * through, otherwise it is scheduled, and with high data rates (like
+- * with OHCI) data can get lost.
+- */
+- if (tty)
+- tty->low_latency = 1;
+-
+ /* Start reading from the device */
+ usb_fill_int_urb(priv->int_urb, priv->udev,
+ usb_rcvintpipe(priv->udev, priv->int_address),
+@@ -205,62 +197,6 @@ static void symbol_unthrottle(struct tty
+ __func__, result);
+ }
+
+-static int symbol_ioctl(struct tty_struct *tty, struct file *file,
+- unsigned int cmd, unsigned long arg)
+-{
+- struct usb_serial_port *port = tty->driver_data;
+- struct device *dev = &port->dev;
+-
+- /*
+- * Right now we need to figure out what commands
+- * most userspace tools want to see for this driver,
+- * so just log the things.
+- */
+- switch (cmd) {
+- case TIOCSERGETLSR:
+- dev_info(dev, "%s: TIOCSERGETLSR\n", __func__);
+- break;
+-
+- case TIOCGSERIAL:
+- dev_info(dev, "%s: TIOCGSERIAL\n", __func__);
+- break;
+-
+- case TIOCMIWAIT:
+- dev_info(dev, "%s: TIOCMIWAIT\n", __func__);
+- break;
+-
+- case TIOCGICOUNT:
+- dev_info(dev, "%s: TIOCGICOUNT\n", __func__);
+- break;
+- default:
+- dev_info(dev, "%s: unknown (%d)\n", __func__, cmd);
+- }
+- return -ENOIOCTLCMD;
+-}
+-
+-static int symbol_tiocmget(struct tty_struct *tty, struct file *file)
+-{
+- struct usb_serial_port *port = tty->driver_data;
+- struct device *dev = &port->dev;
+-
+- /* TODO */
+- /* probably just need to shadow whatever was sent to us here */
+- dev_info(dev, "%s\n", __func__);
+- return 0;
+-}
+-
+-static int symbol_tiocmset(struct tty_struct *tty, struct file *file,
+- unsigned int set, unsigned int clear)
+-{
+- struct usb_serial_port *port = tty->driver_data;
+- struct device *dev = &port->dev;
+-
+- /* TODO */
+- /* probably just need to shadow whatever was sent to us here */
+- dev_info(dev, "%s\n", __func__);
+- return 0;
+-}
+-
+ static int symbol_startup(struct usb_serial *serial)
+ {
+ struct symbol_private *priv;
+@@ -367,9 +303,6 @@ static struct usb_serial_driver symbol_d
+ .shutdown = symbol_shutdown,
+ .throttle = symbol_throttle,
+ .unthrottle = symbol_unthrottle,
+- .ioctl = symbol_ioctl,
+- .tiocmget = symbol_tiocmget,
+- .tiocmset = symbol_tiocmset,
+ };
+
+ static int __init symbol_init(void)
diff --git a/usb.current/usb-tty-pl2303-needs-identifiers-for-siemens-s81-as-well-as-ef81.patch b/usb.current/usb-tty-pl2303-needs-identifiers-for-siemens-s81-as-well-as-ef81.patch
new file mode 100644
index 00000000000000..910dc6e6336b22
--- /dev/null
+++ b/usb.current/usb-tty-pl2303-needs-identifiers-for-siemens-s81-as-well-as-ef81.patch
@@ -0,0 +1,41 @@
+From alan@lxorguk.ukuu.org.uk Mon Apr 6 12:12:52 2009
+From: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Date: Thu, 26 Mar 2009 20:50:46 +0000
+Subject: USB: tty: pl2303 needs identifiers for Siemens S81 as well as EF81
+To: greg@kroah.com
+Message-ID: <20090326205020.5084.87043.stgit@localhost.localdomain>
+
+
+Closes bug 9065
+
+Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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
+@@ -79,6 +79,7 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X65) },
+ { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X75) },
+ { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_EF81) },
++ { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_ID_S81) }, /* Benq/Siemens S81 */
+ { USB_DEVICE(SYNTECH_VENDOR_ID, SYNTECH_PRODUCT_ID) },
+ { USB_DEVICE(NOKIA_CA42_VENDOR_ID, NOKIA_CA42_PRODUCT_ID) },
+ { USB_DEVICE(CA_42_CA42_VENDOR_ID, CA_42_CA42_PRODUCT_ID) },
+--- a/drivers/usb/serial/pl2303.h
++++ b/drivers/usb/serial/pl2303.h
+@@ -7,6 +7,10 @@
+ * (at your option) any later version.
+ *
+ */
++
++#define BENQ_VENDOR_ID 0x04a5
++#define BENQ_PRODUCT_ID_S81 0x4027
++
+ #define PL2303_VENDOR_ID 0x067b
+ #define PL2303_PRODUCT_ID 0x2303
+ #define PL2303_PRODUCT_ID_RSAQ2 0x04bb