<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/usb, branch v3.0.81</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/usb?h=v3.0.81</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/usb?h=v3.0.81'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-06-07T19:46:48Z</updated>
<entry>
<title>USB: io_ti: Fix NULL dereference in chase_port()</title>
<updated>2013-06-07T19:46:48Z</updated>
<author>
<name>Wolfgang Frisch</name>
<email>wfpub@roembden.net</email>
</author>
<published>2013-01-17T00:07:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2af3ee134e1c73c6ab72e958495cee9c238845b0'/>
<id>urn:sha1:2af3ee134e1c73c6ab72e958495cee9c238845b0</id>
<content type='text'>
commit 1ee0a224bc9aad1de496c795f96bc6ba2c394811 upstream.

The tty is NULL when the port is hanging up.
chase_port() needs to check for this.

This patch is intended for stable series.
The behavior was observed and tested in Linux 3.2 and 3.7.1.

Johan Hovold submitted a more elaborate patch for the mainline kernel.

[   56.277883] usb 1-1: edge_bulk_in_callback - nonzero read bulk status received: -84
[   56.278811] usb 1-1: USB disconnect, device number 3
[   56.278856] usb 1-1: edge_bulk_in_callback - stopping read!
[   56.279562] BUG: unable to handle kernel NULL pointer dereference at 00000000000001c8
[   56.280536] IP: [&lt;ffffffff8144e62a&gt;] _raw_spin_lock_irqsave+0x19/0x35
[   56.281212] PGD 1dc1b067 PUD 1e0f7067 PMD 0
[   56.282085] Oops: 0002 [#1] SMP
[   56.282744] Modules linked in:
[   56.283512] CPU 1
[   56.283512] Pid: 25, comm: khubd Not tainted 3.7.1 #1 innotek GmbH VirtualBox/VirtualBox
[   56.283512] RIP: 0010:[&lt;ffffffff8144e62a&gt;]  [&lt;ffffffff8144e62a&gt;] _raw_spin_lock_irqsave+0x19/0x35
[   56.283512] RSP: 0018:ffff88001fa99ab0  EFLAGS: 00010046
[   56.283512] RAX: 0000000000000046 RBX: 00000000000001c8 RCX: 0000000000640064
[   56.283512] RDX: 0000000000010000 RSI: ffff88001fa99b20 RDI: 00000000000001c8
[   56.283512] RBP: ffff88001fa99b20 R08: 0000000000000000 R09: 0000000000000000
[   56.283512] R10: 0000000000000000 R11: ffffffff812fcb4c R12: ffff88001ddf53c0
[   56.283512] R13: 0000000000000000 R14: 00000000000001c8 R15: ffff88001e19b9f4
[   56.283512] FS:  0000000000000000(0000) GS:ffff88001fd00000(0000) knlGS:0000000000000000
[   56.283512] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[   56.283512] CR2: 00000000000001c8 CR3: 000000001dc51000 CR4: 00000000000006e0
[   56.283512] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   56.283512] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[   56.283512] Process khubd (pid: 25, threadinfo ffff88001fa98000, task ffff88001fa94f80)
[   56.283512] Stack:
[   56.283512]  0000000000000046 00000000000001c8 ffffffff810578ec ffffffff812fcb4c
[   56.283512]  ffff88001e19b980 0000000000002710 ffffffff812ffe81 0000000000000001
[   56.283512]  ffff88001fa94f80 0000000000000202 ffffffff00000001 0000000000000296
[   56.283512] Call Trace:
[   56.283512]  [&lt;ffffffff810578ec&gt;] ? add_wait_queue+0x12/0x3c
[   56.283512]  [&lt;ffffffff812fcb4c&gt;] ? usb_serial_port_work+0x28/0x28
[   56.283512]  [&lt;ffffffff812ffe81&gt;] ? chase_port+0x84/0x2d6
[   56.283512]  [&lt;ffffffff81063f27&gt;] ? try_to_wake_up+0x199/0x199
[   56.283512]  [&lt;ffffffff81263a5c&gt;] ? tty_ldisc_hangup+0x222/0x298
[   56.283512]  [&lt;ffffffff81300171&gt;] ? edge_close+0x64/0x129
[   56.283512]  [&lt;ffffffff810612f7&gt;] ? __wake_up+0x35/0x46
[   56.283512]  [&lt;ffffffff8106135b&gt;] ? should_resched+0x5/0x23
[   56.283512]  [&lt;ffffffff81264916&gt;] ? tty_port_shutdown+0x39/0x44
[   56.283512]  [&lt;ffffffff812fcb4c&gt;] ? usb_serial_port_work+0x28/0x28
[   56.283512]  [&lt;ffffffff8125d38c&gt;] ? __tty_hangup+0x307/0x351
[   56.283512]  [&lt;ffffffff812e6ddc&gt;] ? usb_hcd_flush_endpoint+0xde/0xed
[   56.283512]  [&lt;ffffffff8144e625&gt;] ? _raw_spin_lock_irqsave+0x14/0x35
[   56.283512]  [&lt;ffffffff812fd361&gt;] ? usb_serial_disconnect+0x57/0xc2
[   56.283512]  [&lt;ffffffff812ea99b&gt;] ? usb_unbind_interface+0x5c/0x131
[   56.283512]  [&lt;ffffffff8128d738&gt;] ? __device_release_driver+0x7f/0xd5
[   56.283512]  [&lt;ffffffff8128d9cd&gt;] ? device_release_driver+0x1a/0x25
[   56.283512]  [&lt;ffffffff8128d393&gt;] ? bus_remove_device+0xd2/0xe7
[   56.283512]  [&lt;ffffffff8128b7a3&gt;] ? device_del+0x119/0x167
[   56.283512]  [&lt;ffffffff812e8d9d&gt;] ? usb_disable_device+0x6a/0x180
[   56.283512]  [&lt;ffffffff812e2ae0&gt;] ? usb_disconnect+0x81/0xe6
[   56.283512]  [&lt;ffffffff812e4435&gt;] ? hub_thread+0x577/0xe82
[   56.283512]  [&lt;ffffffff8144daa7&gt;] ? __schedule+0x490/0x4be
[   56.283512]  [&lt;ffffffff8105798f&gt;] ? abort_exclusive_wait+0x79/0x79
[   56.283512]  [&lt;ffffffff812e3ebe&gt;] ? usb_remote_wakeup+0x2f/0x2f
[   56.283512]  [&lt;ffffffff812e3ebe&gt;] ? usb_remote_wakeup+0x2f/0x2f
[   56.283512]  [&lt;ffffffff810570b4&gt;] ? kthread+0x81/0x89
[   56.283512]  [&lt;ffffffff81057033&gt;] ? __kthread_parkme+0x5c/0x5c
[   56.283512]  [&lt;ffffffff8145387c&gt;] ? ret_from_fork+0x7c/0xb0
[   56.283512]  [&lt;ffffffff81057033&gt;] ? __kthread_parkme+0x5c/0x5c
[   56.283512] Code: 8b 7c 24 08 e8 17 0b c3 ff 48 8b 04 24 48 83 c4 10 c3 53 48 89 fb 41 50 e8 e0 0a c3 ff 48 89 04 24 e8 e7 0a c3 ff ba 00 00 01 00
&lt;f0&gt; 0f c1 13 48 8b 04 24 89 d1 c1 ea 10 66 39 d1 74 07 f3 90 66
[   56.283512] RIP  [&lt;ffffffff8144e62a&gt;] _raw_spin_lock_irqsave+0x19/0x35
[   56.283512]  RSP &lt;ffff88001fa99ab0&gt;
[   56.283512] CR2: 00000000000001c8
[   56.283512] ---[ end trace 49714df27e1679ce ]---

Signed-off-by: Wolfgang Frisch &lt;wfpub@roembden.net&gt;
Cc: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: UHCI: fix for suspend of virtual HP controller</title>
<updated>2013-06-07T19:46:35Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2013-05-14T17:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c2ecac559adaf4a9413a01d3601006320e345d96'/>
<id>urn:sha1:c2ecac559adaf4a9413a01d3601006320e345d96</id>
<content type='text'>
commit 997ff893603c6455da4c5e26ba1d0f81adfecdfc upstream.

HP's virtual UHCI host controller takes a long time to suspend
(several hundred microseconds), even when no devices are attached.
This provokes a warning message from uhci-hcd in the auto-stop case.

To prevent this from happening, this patch adds a test to avoid
performing an auto-stop when the wait_for_hp quirk flag is set.  The
controller will still suspend through the normal runtime PM mechanism.
And since that pathway includes a 1-ms delay, the slowness of the
virtual hardware won't matter.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Reported-and-tested-by: ZhenHua &lt;zhen-hual@hp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: reset resume quirk needed by a hub</title>
<updated>2013-06-07T19:46:35Z</updated>
<author>
<name>Oliver Neukum</name>
<email>oliver@neukum.org</email>
</author>
<published>2013-04-30T08:18:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ea4950c9faa2a5d1019d74ff559374a56fdad8a2'/>
<id>urn:sha1:ea4950c9faa2a5d1019d74ff559374a56fdad8a2</id>
<content type='text'>
commit bac6b03275184c912ad0818c9a0a736847804dca upstream.

Werner Fink has reported problems with this hub.

Signed-off-by: Oliver Neukum &lt;oliver@neukum.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: Blacklisted Cinterion's PLxx WWAN Interface</title>
<updated>2013-06-07T19:46:35Z</updated>
<author>
<name>Schemmel Hans-Christoph</name>
<email>Hans-Christoph.Schemmel@gemalto.com</email>
</author>
<published>2013-05-06T09:05:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bf968788053dca71a4cb6f798ac19d9f4312648c'/>
<id>urn:sha1:bf968788053dca71a4cb6f798ac19d9f4312648c</id>
<content type='text'>
commit 8ff10bdb14a52e3f25d4ce09e0582a8684c1a6db upstream.

/drivers/usb/serial/option.c: Blacklisted Cinterion's PLxx WWAN
Interface (USB Interface 4), because it will be handled by QMI WWAN
driver. Product IDs renamed.

Signed-off-by: Hans-Christoph Schemmel &lt;hans-christoph.schemmel@gemalto.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: cxacru: potential underflow in cxacru_cm_get_array()</title>
<updated>2013-06-07T19:46:35Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-05-19T18:52:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2d722d28a3614fcd7959adc6e7debf9959b4bb8c'/>
<id>urn:sha1:2d722d28a3614fcd7959adc6e7debf9959b4bb8c</id>
<content type='text'>
commit 2a0ebf80aa95cc758d4725f74a7016e992606a39 upstream.

The value of "offd" comes off the instance-&gt;rcv_buf[] and we used it as
the offset into an array.  The problem is that we check the upper bound
but not for negative values.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: ftdi_sio: Add support for Newport CONEX motor drivers</title>
<updated>2013-06-07T19:46:35Z</updated>
<author>
<name>Gomella, Andrew (NIH/NHLBI) [F]</name>
<email>andrew.gomella@nih.gov</email>
</author>
<published>2013-05-17T17:39:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e50d48c8f67b2b96797bc5d66eb3c717d24744ff'/>
<id>urn:sha1:e50d48c8f67b2b96797bc5d66eb3c717d24744ff</id>
<content type='text'>
commit 7138143972b7c293267c783fc99a194f0ceff7f2 upstream.

Here are two more devices that use FTDI USB-to-serial chips with new product ID's.

The devices are the Newport Conex-AGP and Conex-CC motor controllers.
(http://www.newport.com/CONEX-AGP-Integrated-Piezo-Motor-Rotation-Stages-/987623/1033/info.aspx)
(http://www.newport.com/CONEX-CC-DC-Servo-Controller-Actuators/934114/1033/info.aspx)

usb-devices command yields:

P:  Vendor=104d ProdID=3002 Rev=06.00
S:  Manufacturer=Newport
S:  Product=CONEX-CC

as well as

P:  Vendor=104d ProdID=3006 Rev=06.00
S:  Manufacturer=Newport
S:  Product=CONEX-AGP

Signed-off-by: Andrew Gomella &lt;andrew.gomella@nih.gov&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: option: add device IDs for Dell 5804 (Novatel E371) WWAN card</title>
<updated>2013-06-07T19:46:34Z</updated>
<author>
<name>Dan Williams</name>
<email>dcbw@redhat.com</email>
</author>
<published>2013-05-06T21:16:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ef98b82a7c1671d08802574131c2c9b73e6b96fe'/>
<id>urn:sha1:ef98b82a7c1671d08802574131c2c9b73e6b96fe</id>
<content type='text'>
commit 49c6e370dd6400b84897c4100095089b5c13a061 upstream.

A rebranded Novatel E371 for AT&amp;T's LTE bands.

Signed-off-by: Dan Williams &lt;dcbw@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: option: Add Telewell TW-LTE 4G</title>
<updated>2013-06-07T19:46:34Z</updated>
<author>
<name>Teppo Kotilainen</name>
<email>qubit303@gmail.com</email>
</author>
<published>2013-05-03T07:28:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4c540276d44f2fc29c82338bc15b9d3a335d82f8'/>
<id>urn:sha1:4c540276d44f2fc29c82338bc15b9d3a335d82f8</id>
<content type='text'>
commit 73c042df6e1bc50544842a04b777b36bbe3630e6 upstream.

Information from driver description files:

  diag:  VID_19D2&amp;PID_0412&amp;MI_00
  nmea:  VID_19D2&amp;PID_0412&amp;MI_01
  at:    VID_19D2&amp;PID_0412&amp;MI_02
  modem: VID_19D2&amp;PID_0412&amp;MI_03
  net:   VID_19D2&amp;PID_0412&amp;MI_04

Signed-off-by: Teppo Kotilainen &lt;qubit303@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb-storage: CY7C68300A chips do not support Cypress ATACB</title>
<updated>2013-05-08T02:57:22Z</updated>
<author>
<name>Tormod Volden</name>
<email>debian.tormod@gmail.com</email>
</author>
<published>2013-04-20T12:24:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=42753c725c8233d5efbd682e34d0f3215a7c7aaa'/>
<id>urn:sha1:42753c725c8233d5efbd682e34d0f3215a7c7aaa</id>
<content type='text'>
commit 671b4b2ba9266cbcfe7210a704e9ea487dcaa988 upstream.

Many cards based on CY7C68300A/B/C use the USB ID 04b4:6830 but only the
B and C variants (EZ-USB AT2LP) support the ATA Command Block
functionality, according to the data sheets. The A variant (EZ-USB AT2)
locks up if ATACB is attempted, until a typical 30 seconds timeout runs
out and a USB reset is performed.

https://bugs.launchpad.net/bugs/428469

It seems that one way to spot a CY7C68300A (at least where the card
manufacturer left Cypress' EEPROM default vaules, against Cypress'
recommendations) is to look at the USB string descriptor indices.

A http://media.digikey.com/pdf/Data%20Sheets/Cypress%20PDFs/CY7C68300A.pdf
B http://www.farnell.com/datasheets/43456.pdf
C http://www.cypress.com/?rID=14189

Note that a CY7C68300B/C chip appears as CY7C68300A if it is running
in Backward Compatibility Mode, and if ATACB would be supported in this
case there is anyway no way to tell which chip it really is.

For 5 years my external USB drive has been locking up for half a minute
when plugged in and ata_id is run by udev, or anytime hdparm or similar
is run on it.

Finally looking at the /correct/ datasheet I think I found the reason. I
am aware the quirk in this patch is a bit hacky, but the hardware
manufacturers haven't made it easy for us.

Signed-off-by: Tormod Volden &lt;debian.tormod@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usbfs: Always allow ctrl requests with USB_RECIP_ENDPOINT on the ctrl ep</title>
<updated>2013-05-08T02:57:21Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2013-04-16T09:08:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=60306774f3716df189a69d226d2a59fcf57b4aa9'/>
<id>urn:sha1:60306774f3716df189a69d226d2a59fcf57b4aa9</id>
<content type='text'>
commit 1361bf4b9f9ef45e628a5b89e0fd9bedfdcb7104 upstream.

When usbfs receives a ctrl-request from userspace it calls check_ctrlrecip,
which for a request with USB_RECIP_ENDPOINT tries to map this to an interface
to see if this interface is claimed, except for ctrl-requests with a type of
USB_TYPE_VENDOR.

When trying to use this device: http://www.akaipro.com/eiepro
redirected to a Windows vm running on qemu on top of Linux.

The windows driver makes a ctrl-req with USB_TYPE_CLASS and
USB_RECIP_ENDPOINT with index 0, and the mapping of the endpoint (0) to
the interface fails since ep 0 is the ctrl endpoint and thus never is
part of an interface.

This patch fixes this ctrl-req failing by skipping the checkintf call for
USB_RECIP_ENDPOINT ctrl-reqs on the ctrl endpoint.

Reported-by: Dave Stikkolorum &lt;d.r.stikkolorum@hhs.nl&gt;
Tested-by: Dave Stikkolorum &lt;d.r.stikkolorum@hhs.nl&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
