diff options
Diffstat (limited to 'drivers/char/n_hdlc.c')
| -rw-r--r-- | drivers/char/n_hdlc.c | 4 | 
1 files changed, 4 insertions, 0 deletions
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);  |