<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/usb/serial, branch v3.2.40</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>USB: option: add Huawei "ACM" devices using protocol = vendor</title>
<updated>2013-03-06T03:23:59+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2013-02-13T22:41:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e8c945322f8a8c9b9601b00b30faf60857fa9f7e'/>
<id>e8c945322f8a8c9b9601b00b30faf60857fa9f7e</id>
<content type='text'>
commit 1f3f687722fd9b29a0c2a85b4844e3b2a3585c63 upstream.

The USB device descriptor of one identity presented by a few
Huawei morphing devices have serial functions with class codes
02/02/ff, indicating CDC ACM with a vendor specific protocol. This
combination is often used for MSFT RNDIS functions, and the CDC
ACM class driver will therefore ignore such functions.

The CDC ACM class driver cannot support functions with only 2
endpoints.  The underlying serial functions of these modems are
also believed to be the same as for alternate device identities
already supported by the option driver. Letting the same driver
handle these functions independently of the current identity
ensures consistent handling and user experience.

There is no need to blacklist these devices in the rndis_host
driver. Huawei serial functions will either have only 2 endpoints
or a CDC ACM functional descriptor with bmCapabilities != 0, making
them correctly ignored as "non RNDIS" by that driver.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 1f3f687722fd9b29a0c2a85b4844e3b2a3585c63 upstream.

The USB device descriptor of one identity presented by a few
Huawei morphing devices have serial functions with class codes
02/02/ff, indicating CDC ACM with a vendor specific protocol. This
combination is often used for MSFT RNDIS functions, and the CDC
ACM class driver will therefore ignore such functions.

The CDC ACM class driver cannot support functions with only 2
endpoints.  The underlying serial functions of these modems are
also believed to be the same as for alternate device identities
already supported by the option driver. Letting the same driver
handle these functions independently of the current identity
ensures consistent handling and user experience.

There is no need to blacklist these devices in the rndis_host
driver. Huawei serial functions will either have only 2 endpoints
or a CDC ACM functional descriptor with bmCapabilities != 0, making
them correctly ignored as "non RNDIS" by that driver.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: serial: fix null-pointer dereferences on disconnect</title>
<updated>2013-03-06T03:23:57+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>jhovold@gmail.com</email>
</author>
<published>2013-02-13T16:53:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=36614259f65555c6194d8d5dcd554a1ded0458a5'/>
<id>36614259f65555c6194d8d5dcd554a1ded0458a5</id>
<content type='text'>
commit b2ca699076573c94fee9a73cb0d8645383b602a0 upstream.

Make sure serial-driver dtr_rts is called with disc_mutex held after
checking the disconnected flag.

Due to a bug in the tty layer, dtr_rts may get called after a device has
been disconnected and the tty-device unregistered. Some drivers have had
individual checks for disconnect to make sure the disconnected interface
was not accessed, but this should really be handled in usb-serial core
(at least until the long-standing tty-bug has been fixed).

Note that the problem has been made more acute with commit 0998d0631001
("device-core: Ensure drvdata = NULL when no driver is bound") as the
port data is now also NULL when dtr_rts is called resulting in further
oopses.

Reported-by: Chris Ruehl &lt;chris.ruehl@gtsys.com.hk&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
[bwh: Backported to 3.2:
 - Adjust context
 - Drop changes to quatech2.c]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b2ca699076573c94fee9a73cb0d8645383b602a0 upstream.

Make sure serial-driver dtr_rts is called with disc_mutex held after
checking the disconnected flag.

Due to a bug in the tty layer, dtr_rts may get called after a device has
been disconnected and the tty-device unregistered. Some drivers have had
individual checks for disconnect to make sure the disconnected interface
was not accessed, but this should really be handled in usb-serial core
(at least until the long-standing tty-bug has been fixed).

Note that the problem has been made more acute with commit 0998d0631001
("device-core: Ensure drvdata = NULL when no driver is bound") as the
port data is now also NULL when dtr_rts is called resulting in further
oopses.

Reported-by: Chris Ruehl &lt;chris.ruehl@gtsys.com.hk&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
[bwh: Backported to 3.2:
 - Adjust context
 - Drop changes to quatech2.c]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: option: add Yota / Megafon M100-1 4g modem</title>
<updated>2013-03-06T03:23:56+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2013-02-12T12:42:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0055ccfc4019801fda4800c468232344dc7af316'/>
<id>0055ccfc4019801fda4800c468232344dc7af316</id>
<content type='text'>
commit cd565279e51bedee1b2988e84f9b3bef485adeb6 upstream.

Interface layout:

 00 CD-ROM
 01 debug COM port
 02 AP control port
 03 modem
 04 usb-ethernet

Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(&gt;ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0408 ProdID=ea42 Rev= 0.00
S:  Manufacturer=Qualcomm, Incorporated
S:  Product=Qualcomm CDMA Technologies MSM
S:  SerialNumber=353568051xxxxxx
C:* #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=86(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit cd565279e51bedee1b2988e84f9b3bef485adeb6 upstream.

Interface layout:

 00 CD-ROM
 01 debug COM port
 02 AP control port
 03 modem
 04 usb-ethernet

Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(&gt;ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0408 ProdID=ea42 Rev= 0.00
S:  Manufacturer=Qualcomm, Incorporated
S:  Product=Qualcomm CDMA Technologies MSM
S:  SerialNumber=353568051xxxxxx
C:* #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=86(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: option: add and update Alcatel modems</title>
<updated>2013-03-06T03:23:45+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2013-01-23T09:44:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d18e2707f1f3e96b59313f338123a88ba59b4a87'/>
<id>d18e2707f1f3e96b59313f338123a88ba59b4a87</id>
<content type='text'>
commit f8f0302bbcbd1b14655bef29f6996a2152be559d upstream.

Adding three currently unsupported modems based on information
from .inf driver files:

  Diag  VID_1BBB&amp;PID_0052&amp;MI_00
  AGPS  VID_1BBB&amp;PID_0052&amp;MI_01
  VOICE VID_1BBB&amp;PID_0052&amp;MI_02
  AT    VID_1BBB&amp;PID_0052&amp;MI_03
  Modem VID_1BBB&amp;PID_0052&amp;MI_05
  wwan  VID_1BBB&amp;PID_0052&amp;MI_06

  Diag  VID_1BBB&amp;PID_00B6&amp;MI_00
  AT    VID_1BBB&amp;PID_00B6&amp;MI_01
  Modem VID_1BBB&amp;PID_00B6&amp;MI_02
  wwan  VID_1BBB&amp;PID_00B6&amp;MI_03

  Diag  VID_1BBB&amp;PID_00B7&amp;MI_00
  AGPS  VID_1BBB&amp;PID_00B7&amp;MI_01
  VOICE VID_1BBB&amp;PID_00B7&amp;MI_02
  AT    VID_1BBB&amp;PID_00B7&amp;MI_03
  Modem VID_1BBB&amp;PID_00B7&amp;MI_04
  wwan  VID_1BBB&amp;PID_00B7&amp;MI_05

Updating the blacklist info for the X060S_X200 and X220_X500D,
reserving interfaces for a wwan driver, based on

  wwan VID_1BBB&amp;PID_0000&amp;MI_04
  wwan VID_1BBB&amp;PID_0017&amp;MI_06

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f8f0302bbcbd1b14655bef29f6996a2152be559d upstream.

Adding three currently unsupported modems based on information
from .inf driver files:

  Diag  VID_1BBB&amp;PID_0052&amp;MI_00
  AGPS  VID_1BBB&amp;PID_0052&amp;MI_01
  VOICE VID_1BBB&amp;PID_0052&amp;MI_02
  AT    VID_1BBB&amp;PID_0052&amp;MI_03
  Modem VID_1BBB&amp;PID_0052&amp;MI_05
  wwan  VID_1BBB&amp;PID_0052&amp;MI_06

  Diag  VID_1BBB&amp;PID_00B6&amp;MI_00
  AT    VID_1BBB&amp;PID_00B6&amp;MI_01
  Modem VID_1BBB&amp;PID_00B6&amp;MI_02
  wwan  VID_1BBB&amp;PID_00B6&amp;MI_03

  Diag  VID_1BBB&amp;PID_00B7&amp;MI_00
  AGPS  VID_1BBB&amp;PID_00B7&amp;MI_01
  VOICE VID_1BBB&amp;PID_00B7&amp;MI_02
  AT    VID_1BBB&amp;PID_00B7&amp;MI_03
  Modem VID_1BBB&amp;PID_00B7&amp;MI_04
  wwan  VID_1BBB&amp;PID_00B7&amp;MI_05

Updating the blacklist info for the X060S_X200 and X220_X500D,
reserving interfaces for a wwan driver, based on

  wwan VID_1BBB&amp;PID_0000&amp;MI_04
  wwan VID_1BBB&amp;PID_0017&amp;MI_06

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: ftdi_sio: add Zolix FTDI PID</title>
<updated>2013-02-20T03:15:24+00:00</updated>
<author>
<name>Petr Kubánek</name>
<email>petr@kubanek.net</email>
</author>
<published>2013-02-01T16:24:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fe1c910dd7963d8bf58067e8627bdb07ae3625ef'/>
<id>fe1c910dd7963d8bf58067e8627bdb07ae3625ef</id>
<content type='text'>
commit 0ba3b2ccc72b3df5c305d61f59d93ab0f0e87991 upstream.

Add support for Zolix Omni 1509 monochromator custom USB-RS232 converter.

Signed-off-by: Petr Kubánek &lt;petr@kubanek.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 0ba3b2ccc72b3df5c305d61f59d93ab0f0e87991 upstream.

Add support for Zolix Omni 1509 monochromator custom USB-RS232 converter.

Signed-off-by: Petr Kubánek &lt;petr@kubanek.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: option: add Changhong CH690</title>
<updated>2013-02-20T03:15:24+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2013-02-01T11:06:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b2592ced8a437e906ffa2c25955c8c42ee6b5ad9'/>
<id>b2592ced8a437e906ffa2c25955c8c42ee6b5ad9</id>
<content type='text'>
commit d4fa681541aa7bf8570d03426dd7ba663a71c467 upstream.

New device with 3 serial interfaces:

 If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend) Sub=ff Prot=ff
 If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend) Sub=ff Prot=ff
 If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend) Sub=ff Prot=ff
 If#= 3 Alt= 0 #EPs= 2 Cls=08(stor) Sub=06 Prot=50

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d4fa681541aa7bf8570d03426dd7ba663a71c467 upstream.

New device with 3 serial interfaces:

 If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend) Sub=ff Prot=ff
 If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend) Sub=ff Prot=ff
 If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend) Sub=ff Prot=ff
 If#= 3 Alt= 0 #EPs= 2 Cls=08(stor) Sub=06 Prot=50

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: ftdi_sio: add PID/VID entries for ELV WS 300 PC II</title>
<updated>2013-02-20T03:15:24+00:00</updated>
<author>
<name>Sven Killig</name>
<email>sven@killig.de</email>
</author>
<published>2013-02-01T22:43:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b71a3a4d861b74ade66d52de0e9bd4b493537418'/>
<id>b71a3a4d861b74ade66d52de0e9bd4b493537418</id>
<content type='text'>
commit c249f911406efcc7456cb4af79396726bf7b8c57 upstream.

Add PID/VID entries for ELV WS 300 PC II weather station

Signed-off-by: Sven Killig &lt;sven@killig.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c249f911406efcc7456cb4af79396726bf7b8c57 upstream.

Add PID/VID entries for ELV WS 300 PC II weather station

Signed-off-by: Sven Killig &lt;sven@killig.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: option: add support for Telit LE920</title>
<updated>2013-02-20T03:15:21+00:00</updated>
<author>
<name>Daniele Palmas</name>
<email>dnlplm@gmail.com</email>
</author>
<published>2013-01-28T15:47:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=847e14fe6ad1b35dfcbdbcefc9179480a4163769'/>
<id>847e14fe6ad1b35dfcbdbcefc9179480a4163769</id>
<content type='text'>
commit 03eb466f276ceef9dcf023dc5474db02af68aad9 upstream.

Add PID and special handling for Telit LE920

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 03eb466f276ceef9dcf023dc5474db02af68aad9 upstream.

Add PID and special handling for Telit LE920

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: qcserial: add Telit Gobi QDL device</title>
<updated>2013-02-20T03:15:21+00:00</updated>
<author>
<name>Daniele Palmas</name>
<email>dnlplm@gmail.com</email>
</author>
<published>2013-01-28T15:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=72ea6687717cfe46ed29d6f6702af03460ca8176'/>
<id>72ea6687717cfe46ed29d6f6702af03460ca8176</id>
<content type='text'>
commit 78796ae17eacedcdcaaeb03ba73d2e532a4c8f83 upstream.

Add VID and PID for Telit Gobi QDL device

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 78796ae17eacedcdcaaeb03ba73d2e532a4c8f83 upstream.

Add VID and PID for Telit Gobi QDL device

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: io_ti: Fix NULL dereference in chase_port()</title>
<updated>2013-02-06T04:33:38+00:00</updated>
<author>
<name>Wolfgang Frisch</name>
<email>wfpub@roembden.net</email>
</author>
<published>2013-01-17T00:07:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7b4992729ddd232f6026c109f93d8296ca58b3ed'/>
<id>7b4992729ddd232f6026c109f93d8296ca58b3ed</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;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
</feed>
