<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/serial, branch v2.6.33.15</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/serial?h=v2.6.33.15</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/serial?h=v2.6.33.15'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-05-09T23:04:36Z</updated>
<entry>
<title>serial/imx: read cts state only after acking cts change irq</title>
<updated>2011-05-09T23:04:36Z</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2011-04-11T08:59:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2be6da70b4d41d0cc6d66305381371ae33a8e5d7'/>
<id>urn:sha1:2be6da70b4d41d0cc6d66305381371ae33a8e5d7</id>
<content type='text'>
commit 5680e94148a86e8c31fdc5cb0ea0d5c6810c05b0 upstream.

If cts changes between reading the level at the cts input (USR1_RTSS)
and acking the irq (USR1_RTSD) the last edge doesn't generate an irq and
uart_handle_cts_change is called with a outdated value for cts.

The race was introduced by commit

	ceca629 ([ARM] 2971/1: i.MX uart handle rts irq)

Reported-by: Arwed Springer &lt;Arwed.Springer@de.trumpf.com&gt;
Tested-by: Arwed Springer &lt;Arwed.Springer@de.trumpf.com&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: unbreak billionton CF card</title>
<updated>2011-03-21T19:44:54Z</updated>
<author>
<name>Pavel Machek</name>
<email>pavel@ucw.cz</email>
</author>
<published>2011-01-09T07:38:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0769e495f2a53ac6e1e52b1a5954a1f90b52c3d2'/>
<id>urn:sha1:0769e495f2a53ac6e1e52b1a5954a1f90b52c3d2</id>
<content type='text'>
commit d0694e2aeb815042aa0f3e5036728b3db4446f1d upstream.

Unbreak Billionton CF bluetooth card. This actually fixes a regression
on zaurus.

Signed-off-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: cpm_uart: implement the cpm_uart_early_write() function for console poll</title>
<updated>2010-08-02T17:26:38Z</updated>
<author>
<name>Dongdong Deng</name>
<email>dongdong.deng@windriver.com</email>
</author>
<published>2010-06-17T03:13:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9b2a1b2780e63fac3728c5251d1e91fe9552cdd1'/>
<id>urn:sha1:9b2a1b2780e63fac3728c5251d1e91fe9552cdd1</id>
<content type='text'>
commit 8cd774ad30c22b9d89823f1f05d845f4cdaba9e8 upstream.

The cpm_uart_early_write() function which was used for console poll
isn't implemented in the cpm uart driver.

Implementing this function both fixes the build when CONFIG_CONSOLE_POLL
is set and allows kgdboc to work via the cpm uart.

Signed-off-by: Dongdong Deng &lt;dongdong.deng@windriver.com&gt;
Reviewed-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: imx.c: fix CTS trigger level lower to avoid lost chars</title>
<updated>2010-05-26T21:32:07Z</updated>
<author>
<name>Valentin Longchamp</name>
<email>valentin.longchamp@epfl.ch</email>
</author>
<published>2010-05-05T09:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fea3cd8871c7f5868eed8422f276a958e3d5d0b6'/>
<id>urn:sha1:fea3cd8871c7f5868eed8422f276a958e3d5d0b6</id>
<content type='text'>
commit 1c5250d6163dac28be3afabdfb6c723f107051b7 upstream.

The imx CTS trigger level is left at its reset value that is 32
chars. Since the RX FIFO has 32 entries, when CTS is raised, the
FIFO already is full. However, some serial port devices first empty
their TX FIFO before stopping when CTS is raised, resulting in lost
chars.

This patch sets the trigger level lower so that other chars arrive
after CTS is raised, there is still room for 16 of them.

Signed-off-by: Valentin Longchamp&lt;valentin.longchamp@epfl.ch&gt;
Tested-by: Philippe Rétornaz&lt;philippe.retornaz@epfl.ch&gt;
Acked-by: Wolfram Sang&lt;w.sang@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: 8250_pnp - add Fujitsu Wacom device</title>
<updated>2010-05-12T22:02:42Z</updated>
<author>
<name>Ping Cheng</name>
<email>pingc@wacom.com</email>
</author>
<published>2010-03-22T20:40:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3d563ebbbc07e5bcd89a4e8c9c6658e56a1e0f9c'/>
<id>urn:sha1:3d563ebbbc07e5bcd89a4e8c9c6658e56a1e0f9c</id>
<content type='text'>
commit d9901660b53b92f0f3551c06588b8be38224b245 upstream.

Add Fujitsu Wacom 1FGT Tablet PC device

Signed-off-by: Ping Cheng &lt;pingc@wacom.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>serial: imx: fix NULL dereference Oops when pdata == NULL</title>
<updated>2010-03-15T16:06:27Z</updated>
<author>
<name>Baruch Siach</name>
<email>baruch@tkos.co.il</email>
</author>
<published>2009-12-22T00:26:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=401c1e931d0f19af9eb25a310e1aeb187d03526d'/>
<id>urn:sha1:401c1e931d0f19af9eb25a310e1aeb187d03526d</id>
<content type='text'>
commit bbcd18d1b37413d25eaf4580682b1b8e4a09ff5e upstream.

The platform code doesn't have to provide platform data to get sensible
default behaviour from the imx serial driver.

This patch does not handle NULL dereference in the IrDA case, which still
requires a valid platform data pointer (in imx_startup()/imx_shutdown()),
since I don't know whether there is a sensible default behaviour, or
should the operation just fail cleanly.

Signed-off-by: Baruch Siach &lt;baruch@tkos.co.il&gt;
Cc: Baruch Siach &lt;baruch@tkos.co.il&gt;
Cc: Alan Cox &lt;alan@linux.intel.com&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Oskar Schirmer &lt;os@emlix.com&gt;
Cc: Fabian Godehardt &lt;fg@emlix.com&gt;
Cc: Daniel Glöckner &lt;dg@emlix.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>serial: 8250: add serial transmitter fully empty test</title>
<updated>2010-02-16T23:55:51Z</updated>
<author>
<name>Dick Hollenbeck</name>
<email>dick@softplc.com</email>
</author>
<published>2009-12-09T20:31:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bca476139d2ded86be146dae09b06e22548b67f3'/>
<id>urn:sha1:bca476139d2ded86be146dae09b06e22548b67f3</id>
<content type='text'>
When controlling an industrial radio modem it can be necessary to
manipulate the handshake lines in order to control the radio modem's
transmitter, from userspace.

The transmitter should not be turned off before all characters have been
transmitted.  serial8250_tx_empty() was reporting that all characters were
transmitted before they actually were.

===

Discovered in parallel with more testing and analysis by Kees Schoenmakers
as follows:

I ran into an NetMos 9835 serial pci board which behaves a little
different than the standard.  This type of expansion board is very common.

"Standard" 8250 compatible devices clear the 'UART_LST_TEMT" bit together
with the "UART_LSR_THRE" bit when writing data to the device.

The NetMos device does it slightly different

I believe that the TEMT bit is coupled to the shift register.  The problem
is that after writing data to the device and very quickly after that one
does call serial8250_tx_empty, it returns the wrong information.

My patch makes the test more robust (and solves the problem) and it does
not affect the already correct devices.

Alan:

  We may yet need to quirk this but now we know which chips we have a
  way to do that should we find this breaks some other 8250 clone with
  dodgy THRE.

Signed-off-by: Dick Hollenbeck &lt;dick@softplc.com&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Cc: Kees Schoenmakers &lt;k.schoenmakers@sigmae.nl&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: stable &lt;stable@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>uartlite: fix crash when using as console</title>
<updated>2010-02-03T02:11:22Z</updated>
<author>
<name>Richard Röjfors</name>
<email>richard.rojfors@pelagicore.com</email>
</author>
<published>2010-02-02T21:44:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=03eac7bb882a75e6ee5705288f7ec36ad2e7d0d5'/>
<id>urn:sha1:03eac7bb882a75e6ee5705288f7ec36ad2e7d0d5</id>
<content type='text'>
Move the ulite_console_setup to the .devinit section since it might be
called on probe, which is in devinit.  Fixes the crash below where the
uartlite hw is probed after the .init section is freed from the kernel.

uartlite: ttyUL0 at MMIO 0xc8000100 (irq = 30) is a uartlite
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [&lt;c176720e&gt;] ulite_console_setup+0x6f/0xa8
*pdpt = 0000000036fb0001 *pde = 0000000000000000
Oops: 0000 [#1] PREEMPT SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:1f.1/host0/uevent
Modules linked in: puffin(+) serio_raw

Pid: 151, comm: modprobe Not tainted (2.6.31.5-1.0.b1-b1 #1) POULSBO
EIP: 0060:[&lt;c176720e&gt;] EFLAGS: 00010246 CPU: 0
EIP is at ulite_console_setup+0x6f/0xa8
EAX: c16ec824 EBX: c16ec824 ECX: c176719f EDX: 00000000
ESI: 00000000 EDI: c17b42c4 EBP: f6fd1cf0 ESP: f6fd1cd8
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process modprobe (pid: 151, ti=f6fd0000 task=f6fa1020 task.ti=f6fd0000)
Stack:
 c1031f51 00000000 00000000 00000246 c182237c f7742000 f6fd1d5c c11fd316
&lt;0&gt; c16ec85c f77420d4 0000001e 00000000 00000000 c1633e78 4f494d4d 63783020
&lt;0&gt; 30303038 00303031 f6fd1d3c c10e0786 f6fd1d48 00000000 f6fd1d48 00000000
Call Trace:
 [&lt;c1031f51&gt;] ? register_console+0xf6/0x1fc
 [&lt;c11fd316&gt;] ? uart_add_one_port+0x237/0x2bb
 [&lt;c10e0786&gt;] ? sysfs_add_one+0x13/0xd3
 [&lt;c10e142f&gt;] ? sysfs_do_create_link+0xba/0xfc
 [&lt;c146f200&gt;] ? ulite_probe+0x198/0x1eb
 [&lt;c12064ee&gt;] ? platform_drv_probe+0xc/0xe
 [&lt;c120597b&gt;] ? driver_probe_device+0x79/0x105
 [&lt;c1205a8e&gt;] ? __device_attach+0x28/0x30
 [&lt;c120511f&gt;] ? bus_for_each_drv+0x3d/0x67
 [&lt;c1205af9&gt;] ? device_attach+0x44/0x58
 [&lt;c1205a66&gt;] ? __device_attach+0x0/0x30
 [&lt;c1204fb8&gt;] ? bus_probe_device+0x1f/0x34
 [&lt;c1203e68&gt;] ? device_add+0x385/0x4c0
 [&lt;c148491f&gt;] ? _write_unlock+0x8/0x1f
 [&lt;c1206aac&gt;] ? platform_device_add+0xd9/0x11c
 [&lt;c120c685&gt;] ? mfd_add_devices+0x165/0x1bc
 [&lt;f831b378&gt;] ? puffin_probe+0x2d0/0x390 [puffin]
 [&lt;c11a08ef&gt;] ? pci_match_device+0xa0/0xa7
 [&lt;c11a07bc&gt;] ? local_pci_probe+0xe/0x10
 [&lt;c11a11db&gt;] ? pci_device_probe+0x43/0x66
 [&lt;c120597b&gt;] ? driver_probe_device+0x79/0x105
 [&lt;c1205a4a&gt;] ? __driver_attach+0x43/0x5f
 [&lt;c120535d&gt;] ? bus_for_each_dev+0x3d/0x67
 [&lt;c1205852&gt;] ? driver_attach+0x14/0x16
 [&lt;c1205a07&gt;] ? __driver_attach+0x0/0x5f
 [&lt;c1204dea&gt;] ? bus_add_driver+0xf9/0x220
 [&lt;c1205c8f&gt;] ? driver_register+0x8b/0xeb
 [&lt;c11a1518&gt;] ? __pci_register_driver+0x43/0x9f
 [&lt;c10477ef&gt;] ? __blocking_notifier_call_chain+0x40/0x4c
 [&lt;f831f000&gt;] ? puffin_init+0x0/0x48 [puffin]
 [&lt;f831f017&gt;] ? puffin_init+0x17/0x48 [puffin]
 [&lt;c1001139&gt;] ? do_one_initcall+0x4c/0x131
 [&lt;c105607b&gt;] ? sys_init_module+0xa7/0x1b7
 [&lt;c1002a61&gt;] ? syscall_call+0x7/0xb
 Code: 6e 74 00 00 00 92 33 00 00 18 00 0e 01 73 79 6e 63 65 2d 72 65 67 69 73 74 72 79 0c 00 49 32
00 00 14 00 09 01 61 6c 73 61 2d 69 &lt;6e&gt; 66 6f 00 00 00 42 37 00 00 10 00 07 01 6b 69 6c 6c 61 6c 6c
EIP: [&lt;c176720e&gt;] ulite_console_setup+0x6f/0xa8 SS:ESP 0068:f6fd1cd8
CR2: 0000000000000000

Signed-off-by: Richard Röjfors &lt;richard.rojfors@pelagicore.com&gt;
Acked-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: &lt;stable@kernel.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>
</entry>
<entry>
<title>fmvj18x_cs: add new id (Panasonic lan &amp; modem card)</title>
<updated>2010-01-23T09:08:52Z</updated>
<author>
<name>Ken Kawasaki</name>
<email>ken_kawasaki@spring.nifty.jp</email>
</author>
<published>2010-01-22T11:56:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=33d7959a7a9ef36573bfd0cc85ebef29ed4b846d'/>
<id>urn:sha1:33d7959a7a9ef36573bfd0cc85ebef29ed4b846d</id>
<content type='text'>
fmvj18x_cs, serial_cs:
 add new id
 Panasonic lan &amp; modem card (model name:AL-VML101)

Signed-off-by: Ken Kawasaki &lt;ken_kawasaki@spring.nifty.jp&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>serial: serial_cs: oxsemi quirk breaks resume</title>
<updated>2010-01-20T23:03:31Z</updated>
<author>
<name>Pavel Machek</name>
<email>pavel@ucw.cz</email>
</author>
<published>2009-12-09T20:31:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=18c576f950167ff3ec1e56dcbbec7b87288b3237'/>
<id>urn:sha1:18c576f950167ff3ec1e56dcbbec7b87288b3237</id>
<content type='text'>
Quirk is applied on all cards with given manfid (is it that correct?).
Unfortunately, that quirk breaks resume on zaurus with billionton
bluetooth card inserted: c950ctrl is 0 and outb() faults.

I believe it is simply not a multiport card.  (info-&gt;multi == 1).  ...
...  confirmed by printks.

Signed-off-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Acked-by: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&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>
</feed>
