<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/serial, branch v2.6.33.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>serial: imx: fix NULL dereference Oops when pdata == NULL</title>
<updated>2010-03-15T16:06:27+00:00</updated>
<author>
<name>Baruch Siach</name>
<email>baruch@tkos.co.il</email>
</author>
<published>2009-12-22T00:26:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=401c1e931d0f19af9eb25a310e1aeb187d03526d'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;

</pre>
</div>
</content>
</entry>
<entry>
<title>serial: 8250: add serial transmitter fully empty test</title>
<updated>2010-02-16T23:55:51+00:00</updated>
<author>
<name>Dick Hollenbeck</name>
<email>dick@softplc.com</email>
</author>
<published>2009-12-09T20:31:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bca476139d2ded86be146dae09b06e22548b67f3'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>uartlite: fix crash when using as console</title>
<updated>2010-02-03T02:11:22+00:00</updated>
<author>
<name>Richard Röjfors</name>
<email>richard.rojfors@pelagicore.com</email>
</author>
<published>2010-02-02T21:44:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=03eac7bb882a75e6ee5705288f7ec36ad2e7d0d5'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>fmvj18x_cs: add new id (Panasonic lan &amp; modem card)</title>
<updated>2010-01-23T09:08:52+00:00</updated>
<author>
<name>Ken Kawasaki</name>
<email>ken_kawasaki@spring.nifty.jp</email>
</author>
<published>2010-01-22T11:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=33d7959a7a9ef36573bfd0cc85ebef29ed4b846d'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: serial_cs: oxsemi quirk breaks resume</title>
<updated>2010-01-20T23:03:31+00:00</updated>
<author>
<name>Pavel Machek</name>
<email>pavel@ucw.cz</email>
</author>
<published>2009-12-09T20:31:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=18c576f950167ff3ec1e56dcbbec7b87288b3237'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx: bit &amp;/| confusion</title>
<updated>2010-01-20T23:03:30+00:00</updated>
<author>
<name>Roel Kluin</name>
<email>roel.kluin@gmail.com</email>
</author>
<published>2009-12-09T20:31:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2e2eb509aa7a333fe9931cf306fc7dbc3473f25b'/>
<id>2e2eb509aa7a333fe9931cf306fc7dbc3473f25b</id>
<content type='text'>
Since UCR1_UARTEN is defined 1, the port was always treated as enabled.

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Cc: Alan Cox &lt;alan@linux.intel.com&gt;
Acked-by: Oskar Schirmer &lt;os@emlix.com&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Fabian Godehardt &lt;fg@emlix.com&gt;
Cc: Daniel Glöckner &lt;dg@emlix.com&gt;
Cc: Russell King &lt;rmk@arm.linux.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since UCR1_UARTEN is defined 1, the port was always treated as enabled.

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Cc: Alan Cox &lt;alan@linux.intel.com&gt;
Acked-by: Oskar Schirmer &lt;os@emlix.com&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Fabian Godehardt &lt;fg@emlix.com&gt;
Cc: Daniel Glöckner &lt;dg@emlix.com&gt;
Cc: Russell King &lt;rmk@arm.linux.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;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: Fix crash if the minimum rate of the device is &gt; 9600 baud</title>
<updated>2010-01-20T23:03:29+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2010-01-04T16:26:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=16ae2a877bf4179737921235e85ceffd7b79354f'/>
<id>16ae2a877bf4179737921235e85ceffd7b79354f</id>
<content type='text'>
In that situation if the old rate is invalid and the new rate is invalid
and the chip cannot do 9600 baud we report zero, which makes all the
drivers explode.

Instead force the rate based on min/max

Signed-off-by: Alan Cox &lt;alan@linux.intel.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>
In that situation if the old rate is invalid and the new rate is invalid
and the chip cannot do 9600 baud we report zero, which makes all the
drivers explode.

Instead force the rate based on min/max

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial-core: resume serial hardware with no_console_suspend</title>
<updated>2010-01-20T23:03:29+00:00</updated>
<author>
<name>Stanislav Brabec</name>
<email>sbrabec@suse.cz</email>
</author>
<published>2009-12-02T15:20:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4547be7809a3b775ce750ec7f8b5748954741523'/>
<id>4547be7809a3b775ce750ec7f8b5748954741523</id>
<content type='text'>
Perform a tricky suspend/resume even with no_console_suspend.

With no_console_suspend, kernel skips serial port suspend/resume and the
serial hardware may remain in undefined state after resume. It actually
happens on devices that don't have BIOS that handle serial
initialization. It makes impossible to use serial console after resume.

Devices affected by this problem include:
Sharp Zaurus devices
Several PXA based ARM embedded boards

The patch does:
- Save the hardware state
- Perform buffer flush in time of its suspend call
- Tell the driver that port is suspended
- But still accept new data
- And keep console hardware in state that allows to send them

It allows to capture late console messages without breaking console
after resume.

This is just a resend of a patch discussed in these threads, as the
patch was not yet applied.

"Possible suspend/resume regression in .32-rc?" (Nov 1-5, 2009, ARM
list, later LKML)

"serial-core: resume serial hardware with no_console_suspend" (Sep
15-Oct 18, 2009, LKML &amp; ARM lists)

Signed-off-by: Stanislav Brabec &lt;sbrabec@suse.cz&gt;
Tested-by: Haojian Zhuang &lt;haojian.zhuang@gmail.com&gt;
Tested-by: Daniel Mack &lt;daniel@caiaq.de&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>
Perform a tricky suspend/resume even with no_console_suspend.

With no_console_suspend, kernel skips serial port suspend/resume and the
serial hardware may remain in undefined state after resume. It actually
happens on devices that don't have BIOS that handle serial
initialization. It makes impossible to use serial console after resume.

Devices affected by this problem include:
Sharp Zaurus devices
Several PXA based ARM embedded boards

The patch does:
- Save the hardware state
- Perform buffer flush in time of its suspend call
- Tell the driver that port is suspended
- But still accept new data
- And keep console hardware in state that allows to send them

It allows to capture late console messages without breaking console
after resume.

This is just a resend of a patch discussed in these threads, as the
patch was not yet applied.

"Possible suspend/resume regression in .32-rc?" (Nov 1-5, 2009, ARM
list, later LKML)

"serial-core: resume serial hardware with no_console_suspend" (Sep
15-Oct 18, 2009, LKML &amp; ARM lists)

Signed-off-by: Stanislav Brabec &lt;sbrabec@suse.cz&gt;
Tested-by: Haojian Zhuang &lt;haojian.zhuang@gmail.com&gt;
Tested-by: Daniel Mack &lt;daniel@caiaq.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: 8250_pnp: use wildcard for serial Wacom tablets</title>
<updated>2010-01-20T23:03:27+00:00</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2009-12-09T20:31:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6d34855d9aa281f72c533ecb827405139d1b0fe9'/>
<id>6d34855d9aa281f72c533ecb827405139d1b0fe9</id>
<content type='text'>
Wacom claims that the WACF namespace will always be devoted to serial
Wacom tablets.  Remove the existing entries and add a wildcard to avoid
having to update the kernel every time they add a new device.

Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Tested-by: Ping Cheng &lt;pingc@wacom.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Wacom claims that the WACF namespace will always be devoted to serial
Wacom tablets.  Remove the existing entries and add a wildcard to avoid
having to update the kernel every time they add a new device.

Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Tested-by: Ping Cheng &lt;pingc@wacom.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&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;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc</title>
<updated>2010-01-18T22:08:55+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-01-18T22:08:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8888be69adea1d86d694096cb206ef570e2d691a'/>
<id>8888be69adea1d86d694096cb206ef570e2d691a</id>
<content type='text'>
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc: Move cpu hotplug driver lock from pseries to powerpc
  powerpc: Move /proc/ppc64 to /proc/powerpc update
  powerpc/8xx: Fix user space TLB walk in dcbX fixup
  powerpc: Fix decrementer setup on 1GHz boards
  powerpc/iseries: Initialise on-stack completion
  powerpc/hvc: Driver build breaks with !HVC_CONSOLE
  serial/pmac_zilog: Workaround problem due to interrupt on closed port
  powerpc/macintosh: Make Open Firmware device id constant
  powerpc: Use helpers for rlimits
  powerpc: cpumask_of_node() should handle -1 as a node
  powerpc/pseries: Fix dlpar compile warning without CONFIG_PROC_DEVICETREE
  powerpc/pseries: Fix xics interrupt affinity
  powerpc/swsusp_32: Fix TLB invalidation
  powerpc/8xx: Always pin kernel instruction TLB
  powerpc: 2.6.33 update of defconfigs for embedded 6xx/7xxx, 8xx, 8xxx
  powerpc: Use scripts/mkuboot.sh instead of 'mkimage'
  powerpc/5200: update defconfigs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc: Move cpu hotplug driver lock from pseries to powerpc
  powerpc: Move /proc/ppc64 to /proc/powerpc update
  powerpc/8xx: Fix user space TLB walk in dcbX fixup
  powerpc: Fix decrementer setup on 1GHz boards
  powerpc/iseries: Initialise on-stack completion
  powerpc/hvc: Driver build breaks with !HVC_CONSOLE
  serial/pmac_zilog: Workaround problem due to interrupt on closed port
  powerpc/macintosh: Make Open Firmware device id constant
  powerpc: Use helpers for rlimits
  powerpc: cpumask_of_node() should handle -1 as a node
  powerpc/pseries: Fix dlpar compile warning without CONFIG_PROC_DEVICETREE
  powerpc/pseries: Fix xics interrupt affinity
  powerpc/swsusp_32: Fix TLB invalidation
  powerpc/8xx: Always pin kernel instruction TLB
  powerpc: 2.6.33 update of defconfigs for embedded 6xx/7xxx, 8xx, 8xxx
  powerpc: Use scripts/mkuboot.sh instead of 'mkimage'
  powerpc/5200: update defconfigs
</pre>
</div>
</content>
</entry>
</feed>
