<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/serial/generic.c, branch linux-2.6.32.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.32.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.32.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-02-17T23:36:44Z</updated>
<entry>
<title>USB: serial: handle Data Carrier Detect changes</title>
<updated>2011-02-17T23:36:44Z</updated>
<author>
<name>Libor Pechacek</name>
</author>
<published>2011-01-14T13:30:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6fe7015007299e14f5ea212a503bcba5958c7086'/>
<id>urn:sha1:6fe7015007299e14f5ea212a503bcba5958c7086</id>
<content type='text'>
commit d14fc1a74e846d7851f24fc9519fe87dc12a1231 upstream.

Alan's commit 335f8514f200e63d689113d29cb7253a5c282967 introduced
.carrier_raised function in several drivers.  That also means
tty_port_block_til_ready can now suspend the process trying to open the serial
port when Carrier Detect is low and put it into tty_port.open_wait queue.  We
need to wake up the process when Carrier Detect goes high and trigger TTY
hangup when CD goes low.

Some of the devices do not report modem status line changes, or at least we
don't understand the status message, so for those we remove .carrier_raised
again.

Signed-off-by: Libor Pechacek &lt;lpechacek@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>usb: serial: fix memory leak in generic driver</title>
<updated>2010-01-25T18:49:29Z</updated>
<author>
<name>Johan Hovold</name>
</author>
<published>2010-01-06T23:48:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=911b8be09d303ee5c63295be2ad7b39eec899f45'/>
<id>urn:sha1:911b8be09d303ee5c63295be2ad7b39eec899f45</id>
<content type='text'>
commit 2591530204a76fecc843529ade56afe865dd2657 upstream.

Fix a regression introduced by commit
715b1dc01fe44537e8fce9566e4bb48d6821d84b ("USB: usb_debug,
usb_generic_serial: implement multi urb write").

URB transfer buffer was never freed when using multi-urb writes.
Currently the only driver enabling multi-urb writes is usb_debug.

Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Cc: Greg KH &lt;greg@kroah.com&gt;
Acked-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>USB: Fix throttling in generic usbserial driver</title>
<updated>2009-10-09T20:52:08Z</updated>
<author>
<name>Joris van Rantwijk</name>
</author>
<published>2009-09-24T18:20:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63a9609513007537a0b23ac511fd73f9bd609ea0'/>
<id>urn:sha1:63a9609513007537a0b23ac511fd73f9bd609ea0</id>
<content type='text'>
The generic usbserial driver in Linux 2.6.31 halts its receiving
channel in response to throttle requests from the line discipline.
Unfortunately it drops the contents of the first URB received after
throttling takes effect. This patch corrects that problem.

Signed-off-by: Joris van Rantwijk &lt;jorispubl@xs4all.nl&gt;
Acked-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Cc: stable &lt;stable@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>USB: use kfifo to buffer usb-generic serial writes</title>
<updated>2009-09-23T13:46:34Z</updated>
<author>
<name>David VomLehn</name>
</author>
<published>2009-08-28T19:54:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8e8dce065088833fc418bfa5fbf035cb0726c04c'/>
<id>urn:sha1:8e8dce065088833fc418bfa5fbf035cb0726c04c</id>
<content type='text'>
When do_output_char() attempts to write a carriage return/line feed sequence,
it first checks to see how much buffer room is available. If there are at least
two characters free, it will write the carriage return/line feed with two calls
to tty_put_char(). It calls the tty_operation functions write() for devices that
don't support the tty_operations function put_char(). If the USB generic serial
device's write URB is not in use, it will return the buffer size when asked how
much room is available. The write() of the carriage return will cause it to mark
the write URB busy, so the subsequent write() of the line feed will be ignored.

This patch uses the kfifo infrastructure to implement a write FIFO that
accurately returns the amount of space available in the buffer.

Signed-off-by: David VomLehn &lt;dvomlehn@cisco.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>tty: USB does not need the filp argument in the drivers</title>
<updated>2009-09-19T20:13:26Z</updated>
<author>
<name>Alan Cox</name>
</author>
<published>2009-09-19T20:13:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a509a7e478e4766114d69f12d19d644ac63e9765'/>
<id>urn:sha1:a509a7e478e4766114d69f12d19d644ac63e9765</id>
<content type='text'>
And indeed none of them use it. Clean this up as it will make moving to a
standard open method rather easier.

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>tty: Fix USB kref leak</title>
<updated>2009-07-11T02:17:22Z</updated>
<author>
<name>Alan Cox</name>
</author>
<published>2009-07-09T12:36:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24a15a62dcb1968bf4ffdae55c88fa934d971180'/>
<id>urn:sha1:24a15a62dcb1968bf4ffdae55c88fa934d971180</id>
<content type='text'>
The sysrq code acquired a kref leak. Fix it by passing the tty separately
from the caller (thus effectively using the callers kref which all the
callers hold anyway)

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>tty: Sort out the USB sysrq changes that wrecked performance</title>
<updated>2009-07-11T02:17:22Z</updated>
<author>
<name>Alan Cox</name>
</author>
<published>2009-07-09T12:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4cd1de0afaaa45309f34d7282ea4c07d9b56a3ff'/>
<id>urn:sha1:4cd1de0afaaa45309f34d7282ea4c07d9b56a3ff</id>
<content type='text'>
We can't go around calling all sorts of magic per character functions at
full rate 3G data speed.

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>USB: usb-serial: replace shutdown with disconnect, release</title>
<updated>2009-06-16T04:44:47Z</updated>
<author>
<name>Alan Stern</name>
</author>
<published>2009-06-02T15:53:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f9c99bb8b3a1ec81af68d484a551307326c2e933'/>
<id>urn:sha1:f9c99bb8b3a1ec81af68d484a551307326c2e933</id>
<content type='text'>
This patch (as1254) splits up the shutdown method of usb_serial_driver
into a disconnect and a release method.

The problem is that the usb-serial core was calling shutdown during
disconnect handling, but drivers didn't expect it to be called until
after all the open file references had been closed.  The result was an
oops when the close method tried to use memory that had been
deallocated by shutdown.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>USB: usb_serial: only allow sysrq on a console port</title>
<updated>2009-06-16T04:44:47Z</updated>
<author>
<name>Jason Wessel</name>
</author>
<published>2009-05-29T18:34:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=568d422e9cf52b7b26d2e026ae1617971f62b560'/>
<id>urn:sha1:568d422e9cf52b7b26d2e026ae1617971f62b560</id>
<content type='text'>
The only time a sysrq should get processed is if the attached device
is a console.  This is intended to protect sysrq execution on a host
connected with a terminal program.

Here is the problem scenario:

host A &lt;-- rs232 link --&gt; host B

Host A is using mincom and a usb pl2303 device to connect to host b
which is a linux system with a usb pl2303 device acting as the serial
console.  When host B is rebooted the pl2303 emits random junk
characters on reset.  These character sequences contain serial break
signals most of the time and when translated to a sysrq have caused
host A to get random processes killed, reboots or power down.

It is true that in this setup with this patch host B might still have
the same problem as host A if you reboot host A.  In most cases host A
is a development host which seldom gets rebooted, and you could turn
off sysrq temporarily on host B if you need to reboot host A.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>USB: serial: usb_debug,usb_generic_serial: implement sysrq and serial break</title>
<updated>2009-06-16T04:44:45Z</updated>
<author>
<name>Jason Wessel</name>
</author>
<published>2009-05-11T20:24:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98fcb5f78165b8a3d93870ad7afd4d9ebbb8b43a'/>
<id>urn:sha1:98fcb5f78165b8a3d93870ad7afd4d9ebbb8b43a</id>
<content type='text'>
The usb_debug driver was modified to implement serial break handling
by using a "magic" data packet comprised of the sequence:

       0x00 0xff 0x01 0xfe   0x00 0xfe 0x01 0xff

When the tty layer requests a serial break the usb_debug driver sends
the magic packet.  On the receiving side the magic packet is thrown
away or a sysrq is activated depending on what kernel .config options
have been set.

The generic serial driver was modified as well as the usb serial
headers to generically implement sysrq processing in the same way the
non usb uart based drivers implement the sysrq handling.  This will
allow other usb serial devices to implement sysrq handling as desired.

The new usb serial functions are named similarly and implemented
similarly to the uart functions as follows:

usb_serial_handle_break &lt;-&gt; uart_handle_break
usb_serial_handle_sysrq_char &lt;-&gt; uart_handle_sysrq_char

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

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