X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=drivers%2Fchar%2Fn_hdlc.c;h=69ec6399c714b206ea11de8c30d8ba75fd0a9bd6;hb=4a90f09b20f4622dcbff1f0e1e6bae1704f8ad8c;hp=ed4e03333ab4646029f61236a554daa23a65a2df;hpb=f894d18380e7e7ff05f6622ccb75d2881922c6e9;p=linux-2.6-omap-h63xx.git diff --git a/drivers/char/n_hdlc.c b/drivers/char/n_hdlc.c index ed4e03333ab..69ec6399c71 100644 --- a/drivers/char/n_hdlc.c +++ b/drivers/char/n_hdlc.c @@ -677,6 +677,10 @@ static ssize_t n_hdlc_tty_write(struct tty_struct *tty, struct file *file, /* Allocate transmit buffer */ /* sleep until transmit buffer available */ while (!(tbuf = n_hdlc_buf_get(&n_hdlc->tx_free_buf_list))) { + if (file->f_flags & O_NONBLOCK) { + error = -EAGAIN; + break; + } schedule(); n_hdlc = tty2n_hdlc (tty);