<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/tty, branch v3.14</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/tty?h=v3.14</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/tty?h=v3.14'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-03-06T21:32:25Z</updated>
<entry>
<title>sparc: serial: Clean up the locking for -rt</title>
<updated>2014-03-06T21:32:25Z</updated>
<author>
<name>David Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2014-03-04T20:28:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e58e241c1788856f69d58821e91e5c988905252d'/>
<id>urn:sha1:e58e241c1788856f69d58821e91e5c988905252d</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Allen Pais &lt;allen.pais@oracle.com&gt;
</content>
</entry>
<entry>
<title>Revert "tty: Set correct tty name in 'active' sysfs attribute"</title>
<updated>2014-02-22T22:31:04Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-02-22T22:31:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5c0a2450d695bbe32b1fb81c07751bcbea64f084'/>
<id>urn:sha1:5c0a2450d695bbe32b1fb81c07751bcbea64f084</id>
<content type='text'>
This reverts commit d8a5dc3033af2fd6d16030d2ee4fbd073460fe54.

This breaks plymouth installs, either because plymouth is using the file
"incorrectly" or because the patch is incorrect.  Either way, this needs
to be reverted until it is all figured out.

Reported-by: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Reported-by: Ray Strode &lt;halfline@gmail.com&gt;
Cc: Lennart Poettering &lt;lennart@poettering.net&gt;
Cc: Kay Sievers &lt;kay@vrfy.org&gt;
Cc: Jiri Slaby &lt;jslaby@suse.cz&gt;
Cc: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Cc: Werner Fink &lt;werner@suse.de&gt;
Cc: Hannes Reinecke &lt;hare@suse.de&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>vt: Fix secure clear screen</title>
<updated>2014-02-13T19:12:00Z</updated>
<author>
<name>Petr Písař</name>
<email>petr.pisar@atlas.cz</email>
</author>
<published>2014-02-06T20:01:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0930b0950a8996aa88b0d2ba4bb2bab27cc36bc7'/>
<id>urn:sha1:0930b0950a8996aa88b0d2ba4bb2bab27cc36bc7</id>
<content type='text'>
\E[3J console code (secure clear screen) needs to update_screen(vc)
in order to write-through blanks into off-screen video memory.

This has been removed accidentally in 3.6 by:

commit 81732c3b2fede049a692e58a7ceabb6d18ffb18c
Author: Jean-François Moine &lt;moinejf@free.fr&gt;
Date:   Thu Sep 6 19:24:13 2012 +0200

    tty vt: Fix line garbage in virtual console on command line edition

Signed-off-by: Petr Písař &lt;petr.pisar@atlas.cz&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.6
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: 8250: Support XR17V35x fraction divisor</title>
<updated>2014-02-13T18:02:19Z</updated>
<author>
<name>Joe Schultz</name>
<email>jschultz@xes-inc.com</email>
</author>
<published>2014-02-12T00:30:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=45a7bd635930baa960b6817674c64bdfb8f39570'/>
<id>urn:sha1:45a7bd635930baa960b6817674c64bdfb8f39570</id>
<content type='text'>
The Exar XR17V35x family of UARTs have an additional fractional divisor
register (DLD) which was not being used. Calculate and set this
register for these devices to reduce their baud rate error.

Signed-off-by: Joe Schultz &lt;jschultz@xes-inc.com&gt;
Signed-off-by: Aaron Sierra &lt;asierra@xes-inc.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>n_tty: Fix stale echo output</title>
<updated>2014-02-13T18:02:19Z</updated>
<author>
<name>Peter Hurley</name>
<email>peter@hurleysoftware.com</email>
</author>
<published>2014-02-11T21:34:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e2613be5093d04e6589924d36a1e363eef3c87c7'/>
<id>urn:sha1:e2613be5093d04e6589924d36a1e363eef3c87c7</id>
<content type='text'>
When echoes cannot be flushed to output (usually because the tty
has no more write room) and L_ECHO is subsequently turned off, then
when L_ECHO is turned back on, stale echoes are output.

Output completed echoes regardless of the L_ECHO setting:
  1. before normal writes to that tty
  2. if the tty was stopped by soft flow control and is being
     restarted

Reported-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.13.x
Signed-off-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: sirf: fix kernel panic caused by unpaired spinlock</title>
<updated>2014-02-13T18:02:19Z</updated>
<author>
<name>Qipan Li</name>
<email>Qipan.Li@csr.com</email>
</author>
<published>2014-01-27T06:23:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fb78b811422cd2d8c8605949cc4cc13618347ad5'/>
<id>urn:sha1:fb78b811422cd2d8c8605949cc4cc13618347ad5</id>
<content type='text'>
commit 8b9ade9f74f8a279 coming from Viresh Kumar "tty: serial: sirfsoc: drop
uart_port-&gt;lock before calling tty_flip_buffer_push()" broke sirfsoc uart
driver by knic:

	[    5.129122] BUG: spinlock already unlocked on CPU#0, ip6tables/1331
	[    5.132554]  lock: sirfsoc_uart_ports+0x4/0x8a0, .magic: dead4ead,
	.owner: &lt;none&gt;/-1, .owner_cpu: -1
	[    5.141651] CPU: 0 PID: 1331 Comm: ip6tables Tainted: G
	W  O 3.10.16 #3
	[    5.148866] [&lt;c0013528&gt;] (unwind_backtrace+0x0/0xe0) from
	[&lt;c0010e70&gt;] (show_stack+0x10/0x14)
	[    5.157362] [&lt;c0010e70&gt;] (show_stack+0x10/0x14) from
	[&lt;c01a5e68&gt;] (do_raw_spin_unlock+0x40/0xc8)
	[    5.166125] [&lt;c01a5e68&gt;] (do_raw_spin_unlock+0x40/0xc8) from
	[&lt;c03ff8b4&gt;] (_raw_spin_unlock+0x8/0x40)
	[    5.175322] [&lt;c03ff8b4&gt;] (_raw_spin_unlock+0x8/0x40) from
	[&lt;c0203fcc&gt;] (sirfsoc_uart_pio_rx_chars+0xa4/0xc0)
	[    5.185120] [&lt;c0203fcc&gt;]
	(sirfsoc_uart_pio_rx_chars+0xa4/0xc0) from [&lt;c0204fb8&gt;]
	(sirfsoc_rx_tmo_process_tl+0xdc/0x1e0)
	[    5.195875] [&lt;c0204fb8&gt;]
	(sirfsoc_rx_tmo_process_tl+0xdc/0x1e0) from [&lt;c0024b50&gt;]
	(tasklet_action+0x8c/0xec)
	[    5.205673] [&lt;c0024b50&gt;] (tasklet_action+0x8c/0xec) from
	[&lt;c00242a8&gt;] (__do_softirq+0xec/0x1d4)
	[    5.214347] [&lt;c00242a8&gt;] (__do_softirq+0xec/0x1d4) from
	[&lt;c0024428&gt;] (do_softirq+0x48/0x54)
	[    5.222674] [&lt;c0024428&gt;] (do_softirq+0x48/0x54) from
	[&lt;c0024690&gt;] (irq_exit+0x74/0xc0)
	[    5.230573] [&lt;c0024690&gt;] (irq_exit+0x74/0xc0) from
	[&lt;c000e1e8&gt;] (handle_IRQ+0x6c/0x90)
	[    5.238465] [&lt;c000e1e8&gt;] (handle_IRQ+0x6c/0x90) from
	[&lt;c000d500&gt;] (__irq_svc+0x40/0x70)
	[    5.246446] [&lt;c000d500&gt;] (__irq_svc+0x40/0x70) from
	[&lt;c0092e7c&gt;] (mark_page_accessed+0xc/0x68)
	[    5.255034] [&lt;c0092e7c&gt;] (mark_page_accessed+0xc/0x68) from
	[&lt;c00a2a4c&gt;] (unmap_single_vma+0x3bc/0x550)
	[    5.264402] [&lt;c00a2a4c&gt;] (unmap_single_vma+0x3bc/0x550) from
	[&lt;c00a3b4c&gt;] (unmap_vmas+0x44/0x54)
	[    5.273164] [&lt;c00a3b4c&gt;] (unmap_vmas+0x44/0x54) from
	[&lt;c00a81a8&gt;] (exit_mmap+0xc4/0x1e0)
	[    5.281233] [&lt;c00a81a8&gt;] (exit_mmap+0xc4/0x1e0) from
	[&lt;c001bb78&gt;] (mmput+0x3c/0xdc)
	[    5.288868] [&lt;c001bb78&gt;] (mmput+0x3c/0xdc) from [&lt;c0021b0c&gt;]
	(do_exit+0x30c/0x828)
	[    5.296413] [&lt;c0021b0c&gt;] (do_exit+0x30c/0x828) from
	[&lt;c0022dac&gt;] (do_group_exit+0x4c/0xb0)
	[    5.304653] [&lt;c0022dac&gt;] (do_group_exit+0x4c/0xb0) from
	[&lt;c0022e20&gt;] (__wake_up_parent+0x0/0x18)

Root cause:
the commit dropped uart_port-&gt;lock before calling tty_flip_buffer_push(), but in sirfsoc-uart,
sirfsoc_uart_pio_rx_chars() can be called by sirfsoc_rx_tmo_process_tl(). here uart_port-&gt;lock
has not been taken yet. so that caused unpaired lock/unlock.

Solution:
This patch is doing a quick fix for that, it adds spin_lock/unlock(&amp;port-&gt;lock) protect to
sirfsoc_uart_pio_rx_chars() in sirfsoc_rx_tmo_process_tl() to keep spin_lock/unlock in pair.

Signed-off-by: Qipan Li &lt;Qipan.Li@csr.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.12
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: 8250_pci: unbreak last serial ports on NetMos 9865 cards</title>
<updated>2014-02-13T17:57:33Z</updated>
<author>
<name>Dmitry Eremin-Solenikov</name>
<email>dbaryshkov@gmail.com</email>
</author>
<published>2014-02-11T10:18:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=333c085e4b0cd9df04b087d29f87969a4e26dfa9'/>
<id>urn:sha1:333c085e4b0cd9df04b087d29f87969a4e26dfa9</id>
<content type='text'>
Aparently 9865 uses standard BAR encoding scheme (unlike 99xx cards).
Current pci_netmos_9900_setup() uses wrong BAR indices for the 9865 PCI
device, function 2. Using standard BAR indices makes all 6 ports work
for me. Thus disable the NetMos 9900 quirk for NetMos 9865 pci device.

For the reference, here is the relevant part of lspci for my device:

02:07.0 Serial controller: MosChip Semiconductor Technology Ltd. PCI
9865 Multi-I/O Controller (prog-if 02 [16550])
	Subsystem: Device a000:1000
	Flags: bus master, medium devsel, latency 32, IRQ 17
	I/O ports at ac00 [size=8]
	Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]
	Memory at fcffe000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

02:07.1 Serial controller: MosChip Semiconductor Technology Ltd. PCI
9865 Multi-I/O Controller (prog-if 02 [16550])
	Subsystem: Device a000:1000
	Flags: bus master, medium devsel, latency 32, IRQ 18
	I/O ports at a800 [size=8]
	Memory at fcffd000 (32-bit, non-prefetchable) [size=4K]
	Memory at fcffc000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

02:07.2 Communication controller: MosChip Semiconductor Technology Ltd.
PCI 9865 Multi-I/O Controller
	Subsystem: Device a000:3004
	Flags: bus master, medium devsel, latency 32, IRQ 19
	I/O ports at a400 [size=8]
	I/O ports at a000 [size=8]
	I/O ports at 9c00 [size=8]
	I/O ports at 9800 [size=8]
	Memory at fcffb000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [48] Power Management version 2
	Kernel driver in use: serial

Signed-off-by: Dmitry Eremin-Solenikov &lt;dbaryshkov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>n_tty: Fix poll() when TIME_CHAR and MIN_CHAR == 0</title>
<updated>2014-02-13T17:57:33Z</updated>
<author>
<name>Peter Hurley</name>
<email>peter@hurleysoftware.com</email>
</author>
<published>2014-02-11T16:49:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a5934804a834f525c9e6289935ceef65b952b101'/>
<id>urn:sha1:a5934804a834f525c9e6289935ceef65b952b101</id>
<content type='text'>
Commit eafbe67f84761d787802e5113d895a316b6292fe,
  n_tty: Refactor input_available_p() by call site
broke poll() when TIME_CHAR(tty) and MIN_CHAR(tty) are both 0.

When TIME_CHAR and MIN_CHAR are both 0, input is available if the
read_cnt is 1 (not 0).

Reported-by: Eric Dumazet &lt;edumazet@google.com&gt;
Tested-by: Eric Dumazet &lt;edumazet@google.com&gt;
Reported-by: Stephane Eranian &lt;eranian@google.com&gt;
Tested-by: David Ahern &lt;dsahern@gmail.com&gt;
Tested-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: omap: fix rs485 probe on defered pinctrl</title>
<updated>2014-02-13T17:57:33Z</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2014-02-13T09:52:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a64c1a1c755674399da3689499b3f64c2a538120'/>
<id>urn:sha1:a64c1a1c755674399da3689499b3f64c2a538120</id>
<content type='text'>
If the gpio is not yet available we better also
defer the probing in the rs485 case.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>serial: 8250_dw: fix compilation warning when !CONFIG_PM_SLEEP</title>
<updated>2014-02-13T17:57:33Z</updated>
<author>
<name>Mika Westerberg</name>
<email>mika.westerberg@linux.intel.com</email>
</author>
<published>2014-01-16T12:55:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=13b949f03e642c5df36ebf5b4770d75f8c4a6b09'/>
<id>urn:sha1:13b949f03e642c5df36ebf5b4770d75f8c4a6b09</id>
<content type='text'>
CONFIG_PM will be set if either or both CONFIG_PM_SLEEP and
CONFIG_PM_RUNTIME is set. Compiling the driver with !CONFIG_PM_SLEEP causes
following compilation warnings:

drivers/tty/serial/8250/8250_dw.c:404:12: warning: ‘dw8250_suspend’ defined but not used [-Wunused-function]
drivers/tty/serial/8250/8250_dw.c:413:12: warning: ‘dw8250_resume’ defined but not used [-Wunused-function]

Fix this by using CONFIG_PM_SLEEP instead.

Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
