<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/usb/class, branch v2.6.33</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>USB: usbtmc: Use usb_clear_halt() instead of custom code.</title>
<updated>2009-12-11T19:55:27+00:00</updated>
<author>
<name>Sarah Sharp</name>
<email>sarah.a.sharp@linux.intel.com</email>
</author>
<published>2009-12-03T19:35:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3342ecda3ffb059f2ffd765a71d9579f0aa036eb'/>
<id>3342ecda3ffb059f2ffd765a71d9579f0aa036eb</id>
<content type='text'>
Make the USB Test &amp; Measurement driver use usb_clear_halt() instead of
usb_control_msg() to clear a stalled endpoint.  This will allow devices to
be tested under an xHCI host controller.  The endpoint stall will not be
cleared in the internal xHCI hardware state unless usb_clear_halt() is
used.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Cc: Steve Holland &lt;sdh4@iastate.edu&gt;
Cc: Oliver Neukum &lt;oliver@neukum.org&gt;
Cc: Jouni Ryno &lt;Jouni.Ryno@fmi.fi&gt;
Cc: Gergely Imreh &lt;imrehg@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the USB Test &amp; Measurement driver use usb_clear_halt() instead of
usb_control_msg() to clear a stalled endpoint.  This will allow devices to
be tested under an xHCI host controller.  The endpoint stall will not be
cleared in the internal xHCI hardware state unless usb_clear_halt() is
used.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Cc: Steve Holland &lt;sdh4@iastate.edu&gt;
Cc: Oliver Neukum &lt;oliver@neukum.org&gt;
Cc: Jouni Ryno &lt;Jouni.Ryno@fmi.fi&gt;
Cc: Gergely Imreh &lt;imrehg@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: usbtmc: repeat usb_bulk_msg until whole message is transfered</title>
<updated>2009-12-11T19:55:25+00:00</updated>
<author>
<name>Andre Herms</name>
<email>andre.herms@tec-venture.de</email>
</author>
<published>2009-11-19T17:14:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ec412b92dbe3ea839716853eea058d1bcc5e6ca4'/>
<id>ec412b92dbe3ea839716853eea058d1bcc5e6ca4</id>
<content type='text'>
usb_bulk_msg() transfers only bytes up to the maximum packet size.
It must be repeated by the usbtmc driver until all bytes of a TMC message
are transfered.

Without this patch, ETIMEDOUT is reported when writing TMC messages
larger than the maximum USB bulk size and the transfer remains incomplete.
The user will notice that the device hangs and must be reset by either closing
the application or pulling the plug.

Signed-off-by: Andre Herms &lt;andre.herms@tec-venture.de&gt;
Cc: stable &lt;stable@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
usb_bulk_msg() transfers only bytes up to the maximum packet size.
It must be repeated by the usbtmc driver until all bytes of a TMC message
are transfered.

Without this patch, ETIMEDOUT is reported when writing TMC messages
larger than the maximum USB bulk size and the transfer remains incomplete.
The user will notice that the device hangs and must be reset by either closing
the application or pulling the plug.

Signed-off-by: Andre Herms &lt;andre.herms@tec-venture.de&gt;
Cc: stable &lt;stable@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: Exposing second ACM channel as tty for Nokia S60 phones.</title>
<updated>2009-12-11T19:55:20+00:00</updated>
<author>
<name>Adrian Taylor</name>
<email>aat@realvnc.com</email>
</author>
<published>2009-11-19T10:35:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c1479a92cf0a7792298d364e44a781550621cb58'/>
<id>c1479a92cf0a7792298d364e44a781550621cb58</id>
<content type='text'>
Nokia S60 phones expose two ACM channels. The first is a modem and is picked
up by the standard AT-command interface information in the CDC-ACM driver. The
second is marked as having a vendor-specific protocol. Normally, we don't
expose those as ttys. (On some other devices, they may be claimed by the
rndis_host driver and used as a network interface).

But on S60 this second ACM channel is the way that third-party S60 application
developers are expected to communicate over USB. It acts as a serial device
at the S60 end, and so it should on Linux too.

The list of devices is largely derived from:
http://wiki.forum.nokia.com/index.php/S60_Platform_and_device_identification_codes
http://wiki.forum.nokia.com/index.php/Nokia_USB_Product_IDs
and includes only the S60 3rd Edition+ devices documented there.

There are many devices for which the USB device ID is not documented,
including:
    Nokia 6290
    Nokia E63
    Nokia 5630 XpressMusic
    Nokia 5730 XpressMusic
    Nokia 6710 Navigator
    Nokia 6720 classic
    Nokia 6730 Classic
    Nokia 6760 slide
    Nokia 6790 slide
    Nokia 6790 Surge
    Nokia E52
    Nokia E55
    Nokia E71x (AT&amp;T)
    Nokia E72
    Nokia E75
    Nokia E75 US+LTA variant
    Nokia N79
    Nokia N86 8MP
    Nokia 5230 (RM-588)
    Nokia 5230 (RM-594)
    Nokia 5530 XpressMusic
    Nokia 5530 XpressMusic (china)
    Nokia 5800 XM
    Nokia N97 (RM-506)
    Nokia N97 mini
    Nokia X6
It would be good to add those subsequently.

Signed-off-by: Adrian Taylor &lt;aat@realvnc.com&gt;
Acked-by: Oliver Neukum &lt;oliver@neukum.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Nokia S60 phones expose two ACM channels. The first is a modem and is picked
up by the standard AT-command interface information in the CDC-ACM driver. The
second is marked as having a vendor-specific protocol. Normally, we don't
expose those as ttys. (On some other devices, they may be claimed by the
rndis_host driver and used as a network interface).

But on S60 this second ACM channel is the way that third-party S60 application
developers are expected to communicate over USB. It acts as a serial device
at the S60 end, and so it should on Linux too.

The list of devices is largely derived from:
http://wiki.forum.nokia.com/index.php/S60_Platform_and_device_identification_codes
http://wiki.forum.nokia.com/index.php/Nokia_USB_Product_IDs
and includes only the S60 3rd Edition+ devices documented there.

There are many devices for which the USB device ID is not documented,
including:
    Nokia 6290
    Nokia E63
    Nokia 5630 XpressMusic
    Nokia 5730 XpressMusic
    Nokia 6710 Navigator
    Nokia 6720 classic
    Nokia 6730 Classic
    Nokia 6760 slide
    Nokia 6790 slide
    Nokia 6790 Surge
    Nokia E52
    Nokia E55
    Nokia E71x (AT&amp;T)
    Nokia E72
    Nokia E75
    Nokia E75 US+LTA variant
    Nokia N79
    Nokia N86 8MP
    Nokia 5230 (RM-588)
    Nokia 5230 (RM-594)
    Nokia 5530 XpressMusic
    Nokia 5530 XpressMusic (china)
    Nokia 5800 XM
    Nokia N97 (RM-506)
    Nokia N97 mini
    Nokia X6
It would be good to add those subsequently.

Signed-off-by: Adrian Taylor &lt;aat@realvnc.com&gt;
Acked-by: Oliver Neukum &lt;oliver@neukum.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: usbtmc: minor formatting cleanups</title>
<updated>2009-12-11T19:55:16+00:00</updated>
<author>
<name>Oliver Neukum</name>
<email>oliver@neukum.org</email>
</author>
<published>2009-09-23T22:33:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=dca8cd04dfa4a421511ad0505e4f8a0973f7e38c'/>
<id>dca8cd04dfa4a421511ad0505e4f8a0973f7e38c</id>
<content type='text'>
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-next' into for-linus</title>
<updated>2009-12-07T17:36:35+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2009-12-07T17:36:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d014d043869cdc591f3a33243d3481fa4479c2d0'/>
<id>d014d043869cdc591f3a33243d3481fa4479c2d0</id>
<content type='text'>
Conflicts:

	kernel/irq/chip.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:

	kernel/irq/chip.c
</pre>
</div>
</content>
</entry>
<entry>
<title>tree-wide: fix assorted typos all over the place</title>
<updated>2009-12-04T14:39:55+00:00</updated>
<author>
<name>André Goddard Rosa</name>
<email>andre.goddard@gmail.com</email>
</author>
<published>2009-11-14T15:09:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=af901ca181d92aac3a7dc265144a9081a86d8f39'/>
<id>af901ca181d92aac3a7dc265144a9081a86d8f39</id>
<content type='text'>
That is "success", "unknown", "through", "performance", "[re|un]mapping"
, "access", "default", "reasonable", "[con]currently", "temperature"
, "channel", "[un]used", "application", "example","hierarchy", "therefore"
, "[over|under]flow", "contiguous", "threshold", "enough" and others.

Signed-off-by: André Goddard Rosa &lt;andre.goddard@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
That is "success", "unknown", "through", "performance", "[re|un]mapping"
, "access", "default", "reasonable", "[con]currently", "temperature"
, "channel", "[un]used", "application", "example","hierarchy", "therefore"
, "[over|under]flow", "contiguous", "threshold", "enough" and others.

Signed-off-by: André Goddard Rosa &lt;andre.goddard@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: cdc_acm: Fix memory leak after hangup</title>
<updated>2009-11-18T00:46:33+00:00</updated>
<author>
<name>Francesco Lavra</name>
<email>francescolavra@interfree.it</email>
</author>
<published>2009-11-03T10:53:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=051522bb47797f7168a617a0752d7ddc1a2f6f24'/>
<id>051522bb47797f7168a617a0752d7ddc1a2f6f24</id>
<content type='text'>
Am Donnerstag, 10. September 2009 15:43:53 schrieb Dietmar Hilbrich:
&gt; Hello,
&gt;
&gt; i have the following problem with the cdc-acm - driver:
&gt;
&gt; I'm using the driver with an "Ericsson F3507G" on a Thinkpad T400.
&gt;
&gt; If a disable the device (with the RFKill-Switch) while it is used by a
&gt; programm like ppp, the driver doesn't seem to correctly clean up the tty,
&gt; even after the program has been closed)
&gt;
&gt; The tty is still active (e.g. there still exists an entry in
&gt; /sys/dev/char/166:0 if ttyACM0 was used) and if a reacticate the device,
&gt; this device entry will be skipped and the Device-Nodes ttyACM1, ttyACM2
&gt; and ttyACM3 will be used.
&gt;
&gt; This problem was introduced with the commit
&gt; 10077d4a6674f535abdbe25cdecb1202af7948f1 (before 2.6.31-rc1) and still
&gt; exists in 2.6.31.
&gt;
&gt; I was able the fix this problem with the following patch:
&gt;
&gt; diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
&gt; index 2bfc41e..0970d2f 100644
&gt; --- a/drivers/usb/class/cdc-acm.c
&gt; +++ b/drivers/usb/class/cdc-acm.c
&gt; @@ -676,6 +676,7 @@ static void acm_tty_hangup(struct tty_struct *tty)
&gt;         struct acm *acm = tty-&gt;driver_data;
&gt;         tty_port_hangup(&amp;acm-&gt;port);
&gt;         acm_port_down(acm, 0);
&gt; +       acm_tty_unregister(acm);
&gt;  }

I have the same problem with cdc-acm (I'm using a Samsung SGH-U900): when I
unplug it from the USB port during a PPP connection, the ppp daemon gets the
hangup correctly (and closes the device), but the struct acm corresponding to
the device disconnected is not freed. Hence reconnecting the device results in
creation of /dev/ttyACM(x+1). The same happens when the system is hibernated
during a PPP connection.

This memory leak is due to the fact that when the tty is hung up,
tty_port_close_start() returns always zero, and acm_tty_close() never reaches
the point where acm_tty_unregister() is called.

Here is a fix for this.

Signed-off-by: Francesco Lavra &lt;francescolavra@interfree.it&gt;
Acked-by: Oliver Neukum &lt;oliver@neukum.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Am Donnerstag, 10. September 2009 15:43:53 schrieb Dietmar Hilbrich:
&gt; Hello,
&gt;
&gt; i have the following problem with the cdc-acm - driver:
&gt;
&gt; I'm using the driver with an "Ericsson F3507G" on a Thinkpad T400.
&gt;
&gt; If a disable the device (with the RFKill-Switch) while it is used by a
&gt; programm like ppp, the driver doesn't seem to correctly clean up the tty,
&gt; even after the program has been closed)
&gt;
&gt; The tty is still active (e.g. there still exists an entry in
&gt; /sys/dev/char/166:0 if ttyACM0 was used) and if a reacticate the device,
&gt; this device entry will be skipped and the Device-Nodes ttyACM1, ttyACM2
&gt; and ttyACM3 will be used.
&gt;
&gt; This problem was introduced with the commit
&gt; 10077d4a6674f535abdbe25cdecb1202af7948f1 (before 2.6.31-rc1) and still
&gt; exists in 2.6.31.
&gt;
&gt; I was able the fix this problem with the following patch:
&gt;
&gt; diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
&gt; index 2bfc41e..0970d2f 100644
&gt; --- a/drivers/usb/class/cdc-acm.c
&gt; +++ b/drivers/usb/class/cdc-acm.c
&gt; @@ -676,6 +676,7 @@ static void acm_tty_hangup(struct tty_struct *tty)
&gt;         struct acm *acm = tty-&gt;driver_data;
&gt;         tty_port_hangup(&amp;acm-&gt;port);
&gt;         acm_port_down(acm, 0);
&gt; +       acm_tty_unregister(acm);
&gt;  }

I have the same problem with cdc-acm (I'm using a Samsung SGH-U900): when I
unplug it from the USB port during a PPP connection, the ppp daemon gets the
hangup correctly (and closes the device), but the struct acm corresponding to
the device disconnected is not freed. Hence reconnecting the device results in
creation of /dev/ttyACM(x+1). The same happens when the system is hibernated
during a PPP connection.

This memory leak is due to the fact that when the tty is hung up,
tty_port_close_start() returns always zero, and acm_tty_close() never reaches
the point where acm_tty_unregister() is called.

Here is a fix for this.

Signed-off-by: Francesco Lavra &lt;francescolavra@interfree.it&gt;
Acked-by: Oliver Neukum &lt;oliver@neukum.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: cdc_acm: Fix race condition when opening tty</title>
<updated>2009-11-18T00:46:33+00:00</updated>
<author>
<name>Henry Gebhardt</name>
<email>gebhardt@astro.uni-tuebingen.de</email>
</author>
<published>2009-11-04T10:19:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=18a77b5d237a67d2c621a46f5271a3b51da1b380'/>
<id>18a77b5d237a67d2c621a46f5271a3b51da1b380</id>
<content type='text'>
If acm_rx_tasklet() gets called before tty_port_block_til_ready()
returns, then bulk IN urbs may not be sent. This fixes it.

Signed-off-by: Henry Gebhardt &lt;gebhardt@astro.uni-tuebingen.de&gt;
Acked-by: Oliver Neukum &lt;oliver@neukum.org&gt;
Cc: stable &lt;stable@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If acm_rx_tasklet() gets called before tty_port_block_til_ready()
returns, then bulk IN urbs may not be sent. This fixes it.

Signed-off-by: Henry Gebhardt &lt;gebhardt@astro.uni-tuebingen.de&gt;
Acked-by: Oliver Neukum &lt;oliver@neukum.org&gt;
Cc: stable &lt;stable@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: usbtmc: fix timeout increase</title>
<updated>2009-10-09T20:52:06+00:00</updated>
<author>
<name>Gergely Imreh</name>
<email>imrehg@gmail.com</email>
</author>
<published>2009-09-15T08:03:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=35f76e897d67fb62b4ec0be01fc0caaeb7f90108'/>
<id>35f76e897d67fb62b4ec0be01fc0caaeb7f90108</id>
<content type='text'>
The current 10ms timeout is too short for some normal USBTMC device
operation, increase it to a value which was tested with previously
affected Tektronix oscilloscopes.

Signed-off-by: Gergely Imreh &lt;imrehg@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current 10ms timeout is too short for some normal USBTMC device
operation, increase it to a value which was tested with previously
affected Tektronix oscilloscopes.

Signed-off-by: Gergely Imreh &lt;imrehg@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>const: constify remaining file_operations</title>
<updated>2009-10-01T23:11:11+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2009-10-01T22:43:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=828c09509b9695271bcbdc53e9fc9a6a737148d2'/>
<id>828c09509b9695271bcbdc53e9fc9a6a737148d2</id>
<content type='text'>
[akpm@linux-foundation.org: fix KVM]
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[akpm@linux-foundation.org: fix KVM]
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
