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 <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8daedea656
commit
6676ae6282
1 changed files with 8 additions and 1 deletions
|
@ -157,7 +157,7 @@ static void tty_receive_char(struct tty_struct *tty, char ch)
|
||||||
|
|
||||||
static int open_one_chan(struct chan *chan)
|
static int open_one_chan(struct chan *chan)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd, err;
|
||||||
|
|
||||||
if(chan->opened)
|
if(chan->opened)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -168,6 +168,13 @@ static int open_one_chan(struct chan *chan)
|
||||||
chan->data, &chan->dev);
|
chan->data, &chan->dev);
|
||||||
if(fd < 0)
|
if(fd < 0)
|
||||||
return fd;
|
return fd;
|
||||||
|
|
||||||
|
err = os_set_fd_block(fd, 0);
|
||||||
|
if (err) {
|
||||||
|
(*chan->ops->close)(fd, chan->data);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
chan->fd = fd;
|
chan->fd = fd;
|
||||||
|
|
||||||
chan->opened = 1;
|
chan->opened = 1;
|
||||||
|
|
Loading…
Reference in a new issue