The tty SIGIO fix that went into 2.4.19 breaks error returns from the
underlying driver. Currently, any errors from the driver causes write_chan
to call schedule() rather than returning the error.
This broke the UML test suite, the fix below makes it work again.
Jeff
--- orig/drivers/char/n_tty.c Tue Sep 3 17:07:15 2002
+++ um/drivers/char/n_tty.c Sat Sep 21 13:22:32 2002
@@ -1180,7 +1180,7 @@
while (nr > 0) {
ssize_t num = opost_block(tty, b, nr);
if (num < 0){
- if(num != -EAGAIN)
+ if(num == -EAGAIN)
break;
retval = num;
goto break_out;
That was a bogus patch, sorry. 2.4.19 had the test right, my local pool
didn't. I had applied an earlier version of the patch, and didn't look
carefully enough at the rejects when I applied the 2.4.19 patch to it.
Jeff