projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c2aef33
)
Char: n_hdlc, allow RESTARTSYS retval of tty write
author
Jiri Slaby
<
[email protected]
>
Mon, 16 Jul 2007 06:40:12 +0000
(23:40 -0700)
committer
Linus Torvalds
<
[email protected]
>
Mon, 16 Jul 2007 16:05:43 +0000
(09:05 -0700)
Acked-by: Paul Fulghum <
[email protected]
>
Signed-off-by: Jiri Slaby <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
drivers/char/n_hdlc.c
patch
|
blob
|
history
diff --git
a/drivers/char/n_hdlc.c
b/drivers/char/n_hdlc.c
index 37f7d3403040395bd1a5abfb484c5b76c77fc015..e8332f305d72a77b9e8d0579b8b222d5e66ea0ea 100644
(file)
--- a/
drivers/char/n_hdlc.c
+++ b/
drivers/char/n_hdlc.c
@@
-400,7
+400,12
@@
static void n_hdlc_send_frames(struct n_hdlc *n_hdlc, struct tty_struct *tty)
/* Send the next block of data to device */
tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
actual = tty->driver->write(tty, tbuf->buf, tbuf->count);
-
+
+ /* rollback was possible and has been done */
+ if (actual == -ERESTARTSYS) {
+ n_hdlc->tbuf = tbuf;
+ break;
+ }
/* if transmit error, throw frame away by */
/* pretending it was accepted by driver */
if (actual < 0)