<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/tty, branch v3.4.35</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/tty?h=v3.4.35</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/tty?h=v3.4.35'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-02-28T14:59:05Z</updated>
<entry>
<title>fb: Yet another band-aid for fixing lockdep mess</title>
<updated>2013-02-28T14:59:05Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2013-01-25T00:28:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f515e1d59602f8eafaad39b6842bd823ad34654e'/>
<id>urn:sha1:f515e1d59602f8eafaad39b6842bd823ad34654e</id>
<content type='text'>
commit e93a9a868792ad71cdd09d75e5a02d8067473c4e upstream.

I've still got lockdep warnings even after Alan's patch, and it seems that
yet more band aids are required to paper over similar paths for
unbind_con_driver() and unregister_con_driver().  After this hack, lockdep
warnings are finally gone.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Cc: Alan Cox &lt;alan@linux.intel.com&gt;
Cc: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Tested-by: Sedat Dilek &lt;sedat.dilek@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>fb: rework locking to fix lock ordering on takeover</title>
<updated>2013-02-28T14:59:05Z</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2013-01-25T00:28:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c30b55c385288be48f7accd16a6929ad4d983311'/>
<id>urn:sha1:c30b55c385288be48f7accd16a6929ad4d983311</id>
<content type='text'>
commit 50e244cc793d511b86adea24972f3a7264cae114 upstream.

Adjust the console layer to allow a take over call where the caller
already holds the locks.  Make the fb layer lock in order.

This is partly a band aid, the fb layer is terminally confused about the
locking rules it uses for its notifiers it seems.

[akpm@linux-foundation.org: remove stray non-ascii char, tidy comment]
[akpm@linux-foundation.org: export do_take_over_console()]
[airlied: cleanup another non-ascii char]
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Cc: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Cc: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Tested-by: Sedat Dilek &lt;sedat.dilek@gmail.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>vgacon/vt: clear buffer attributes when we load a 512 character font (v2)</title>
<updated>2013-02-28T14:59:03Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-01-24T04:14:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=df28f4890263a0540b395402b43b57f047ccf7d5'/>
<id>urn:sha1:df28f4890263a0540b395402b43b57f047ccf7d5</id>
<content type='text'>
commit 2a2483072393b27f4336ab068a1f48ca19ff1c1e upstream.

When we switch from 256-&gt;512 byte font rendering mode, it means the
current contents of the screen is being reinterpreted. The bit that holds
the high bit of the 9-bit font, may have been previously set, and thus
the new font misrenders.

The problem case we see is grub2 writes spaces with the bit set, so it
ends up with data like 0x820, which gets reinterpreted into 0x120 char
which the font translates into G with a circumflex. This flashes up on
screen at boot and is quite ugly.

A current side effect of this patch though is that any rendering on the
screen changes color to a slightly darker color, but at least the screen
no longer corrupts.

v2: as suggested by hpa, always clear the attribute space, whether we
are are going to or from 512 chars.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tty: set_termios/set_termiox should not return -EINTR</title>
<updated>2013-02-28T14:58:59Z</updated>
<author>
<name>Oleg Nesterov</name>
<email>oleg@redhat.com</email>
</author>
<published>2013-01-29T19:07:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=46605dae03a55a70d7fd9886f466b435afc7738b'/>
<id>urn:sha1:46605dae03a55a70d7fd9886f466b435afc7738b</id>
<content type='text'>
commit 183d95cdd834381c594d3aa801c1f9f9c0c54fa9 upstream.

See https://bugzilla.redhat.com/show_bug.cgi?id=904907
read command causes bash to abort with double free or corruption (out).

A simple test-case from Roman:

	// Compile the reproducer and send sigchld ti that process.
	// EINTR occurs even if SA_RESTART flag is set.

	void handler(int sig)
	{
	}

	main()
	{
	  struct sigaction act;
	  act.sa_handler = handler;
	  act.sa_flags = SA_RESTART;
	  sigaction (SIGCHLD, &amp;act, 0);
	  struct termio ttp;
	  ioctl(0, TCGETA, &amp;ttp);
	  while(1)
	  {
	    if (ioctl(0, TCSETAW, ttp) &lt; 0)
	      {
		if (errno == EINTR)
		{
		  fprintf(stderr, "BUG!"); return(1);
		}
	      }
	  }
	}

Change set_termios/set_termiox to return -ERESTARTSYS to fix this
particular problem.

I didn't dare to change other EINTR's in drivers/tty/, but they look
equally wrong.

Reported-by: Roman Rakus &lt;rrakus@redhat.com&gt;
Reported-by: Lingzhu Xiang &lt;lxiang@redhat.com&gt;
Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;
Cc: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tty: Prevent deadlock in n_gsm driver</title>
<updated>2013-02-28T14:58:59Z</updated>
<author>
<name>Dirkjan Bussink</name>
<email>d.bussink@gmail.com</email>
</author>
<published>2013-01-30T10:44:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0c10d7fd0d53e3e44cc04edc37120bce6d74e2ca'/>
<id>urn:sha1:0c10d7fd0d53e3e44cc04edc37120bce6d74e2ca</id>
<content type='text'>
commit 4d9b109060f690f5c835130ff54165ae157b3087 upstream.

This change fixes a deadlock when the multiplexer is closed while there
are still client side ports open.

When the multiplexer is closed and there are active tty's it tries to
close them with tty_vhangup. This has a problem though, because
tty_vhangup needs the tty_lock. This patch changes it to unlock the
tty_lock before attempting the hangup and relocks afterwards. The
additional call to tty_port_tty_set is needed because otherwise the
port stays active because of the reference counter.

This change also exposed another problem that other code paths don't
expect that the multiplexer could have been closed. This patch also adds
checks for these cases in the gsmtty_ class of function that could be
called.

The documentation explicitly states that "first close all virtual ports
before closing the physical port" but we've found this to not always
reality in our field situations. The GPRS / UTMS modem sometimes crashes
and needs a power cycle in that case which means cleanly shutting down
everything is not always possible. This change makes it much more robust
for our situation where at least the system is recoverable with this patch
and doesn't hang in a deadlock situation inside the kernel.

The patch is against the long term support kernel (3.4.27) and should
apply cleanly to more recent branches. Tested with a Telit GE864-QUADV2
and Telit HE910 modem.

Signed-off-by: Dirkjan Bussink &lt;dirkjan.bussink@nedap.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler</title>
<updated>2013-01-21T19:45:26Z</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime.ripard@free-electrons.com</email>
</author>
<published>2013-01-14T19:09:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f6ffcce2ef152bebaeeed0cd9fd117e23a3c46ff'/>
<id>urn:sha1:f6ffcce2ef152bebaeeed0cd9fd117e23a3c46ff</id>
<content type='text'>
commit 68e56cb3a068f9c30971c6117fbbd1e32918e49e upstream.

Signed-off-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>serial:ifx6x60:Delete SPI timer when shut down port</title>
<updated>2013-01-21T19:45:26Z</updated>
<author>
<name>chao bi</name>
<email>chao.bi@intel.com</email>
</author>
<published>2012-12-12T03:40:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=51478116612441b178bc747b445e592586e1f817'/>
<id>urn:sha1:51478116612441b178bc747b445e592586e1f817</id>
<content type='text'>
commit 014b9b4ce84281ccb3d723c792bed19815f3571a upstream.

When shut down SPI port, it's possible that MRDY has been asserted and a SPI
timer was activated waiting for SRDY assert, in the case, it needs to delete
this timer.

Signed-off-by: Chen Jun &lt;jun.d.chen@intel.com&gt;
Signed-off-by: channing &lt;chao.bi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert "serial: omap: fix software flow control"</title>
<updated>2012-11-26T19:38:44Z</updated>
<author>
<name>Felipe Balbi</name>
<email>balbi@ti.com</email>
</author>
<published>2012-10-16T14:09:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=51b8318a818623899f9eb24ce697d43301bbe349'/>
<id>urn:sha1:51b8318a818623899f9eb24ce697d43301bbe349</id>
<content type='text'>
commit a4f743851f74fc3e0cc40c13082e65c24139f481 upstream.

This reverts commit 957ee7270d632245b43f6feb0e70d9a5e9ea6cf6
(serial: omap: fix software flow control).

As Russell has pointed out, that commit isn't fixing
Software Flow Control at all, and it actually makes
it even more broken.

It was agreed to revert this commit and use Russell's
latest UART patches instead.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Cc: Andreas Bießmann &lt;andreas.devel@googlemail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>kdb,vt_console: Fix missed data due to pager overruns</title>
<updated>2012-10-21T16:27:59Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2012-08-27T03:37:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c4c493a4adcee75e1e44af044d0b7fc1b5192b61'/>
<id>urn:sha1:c4c493a4adcee75e1e44af044d0b7fc1b5192b61</id>
<content type='text'>
commit 17b572e82032bc246324ce136696656b66d4e3f1 upstream.

It is possible to miss data when using the kdb pager.  The kdb pager
does not pay attention to the maximum column constraint of the screen
or serial terminal.  This result is not incrementing the shown lines
correctly and the pager will print more lines that fit on the screen.
Obviously that is less than useful when using a VGA console where you
cannot scroll back.

The pager will now look at the kdb_buffer string to see how many
characters are printed.  It might not be perfect considering you can
output ASCII that might move the cursor position, but it is a
substantially better approximation for viewing dmesg and trace logs.

This also means that the vt screen needs to set the kdb COLUMNS
variable.

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

</content>
</entry>
<entry>
<title>n_gsm: memory leak in uplink error path</title>
<updated>2012-10-07T15:32:27Z</updated>
<author>
<name>Russ Gorby</name>
<email>russ.gorby@intel.com</email>
</author>
<published>2012-08-13T12:45:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1168fb4bf41d55b04c07d82cb5c1e0fde9be3cf9'/>
<id>urn:sha1:1168fb4bf41d55b04c07d82cb5c1e0fde9be3cf9</id>
<content type='text'>
commit 88ed2a60610974443335c924d7cb8e5dcf9dbdc1 upstream.

Uplink (TX) network data will go through gsm_dlci_data_output_framed
there is a bug where if memory allocation fails, the skb which
has already been pulled off the list will be lost.

In addition TX skbs were being processed in LIFO order

Fixed the memory leak, and changed to FIFO order processing

Signed-off-by: Russ Gorby &lt;russ.gorby@intel.com&gt;
Tested-by: Kappel, LaurentX &lt;laurentx.kappel@intel.com&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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