From: Jeff Dike Date: Tue, 31 Jul 2007 07:37:44 +0000 (-0700) Subject: UML: console should handle spurious IRQS X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6676ae62822f189e7bca80526eca514c399adcfc;p=openwrt%2Fstaging%2Fblogic.git UML: console should handle spurious IRQS The previous DEBUG_SHIRQ patch missed one case. The console doesn't set its host descriptors non-blocking. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c index 368d3e97dfd9..629b00e3b0b0 100644 --- a/arch/um/drivers/chan_kern.c +++ b/arch/um/drivers/chan_kern.c @@ -157,7 +157,7 @@ static void tty_receive_char(struct tty_struct *tty, char ch) static int open_one_chan(struct chan *chan) { - int fd; + int fd, err; if(chan->opened) return 0; @@ -168,6 +168,13 @@ static int open_one_chan(struct chan *chan) chan->data, &chan->dev); if(fd < 0) return fd; + + err = os_set_fd_block(fd, 0); + if (err) { + (*chan->ops->close)(fd, chan->data); + return err; + } + chan->fd = fd; chan->opened = 1;