uml: work around host tcsetattr bug
authorJeff Dike <jdike@addtoit.com>
Sat, 1 Dec 2007 20:16:30 +0000 (12:16 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 3 Dec 2007 16:13:17 +0000 (08:13 -0800)
commitce3b642d42f36406112ab474c03d81c5941d9398
tree76a3c469248217a1d2e1648f749ad93864fe2856
parent0a765329ed656ef08915c8be4aba9031ba467ee4
uml: work around host tcsetattr bug

Under the conditions that UML uses it, tcgetattr is guaranteed to return
-EINTR when the console is attached to /dev/ptmx, making generic_console_write
hang because it loops, calling tcgetattr until it succeeds.  This is a host
bug - see http://marc.info/?l=linux-kernel&m=119618990807182&w=2 for the
details.

This patch works around it by blocking SIGIO while the terminal attributes are
being fiddled.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/drivers/chan_user.c