From: <[EMAIL PROTECTED]>

Adapted from  http://bugzilla.kernel.org/show_bug.cgi?id=6530

Reschedule the async Tx tasklet if the transmit queue was full.

Cc: Paul Mackerras <[EMAIL PROTECTED]>

[akpm: submitted before, discussion petered off inconclusively]
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/net/ppp_async.c |    2 ++
 1 file changed, 2 insertions(+)

diff -puN drivers/net/ppp_async.c~ppp_async-hang-fix drivers/net/ppp_async.c
--- a/drivers/net/ppp_async.c~ppp_async-hang-fix
+++ a/drivers/net/ppp_async.c
@@ -516,6 +516,8 @@ static void ppp_async_process(unsigned l
        /* try to push more stuff out */
        if (test_bit(XMIT_WAKEUP, &ap->xmit_flags) && ppp_async_push(ap))
                ppp_output_wakeup(&ap->chan);
+       else if (test_bit(XMIT_FULL, &ap->xmit_flags))
+               ppp_asynctty_wakeup(ap->tty);
 }
 
 /*
_
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to