z85230: Fix FIFO handling
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Wed, 7 Mar 2007 16:37:38 +0000 (16:37 +0000)
committerJeff Garzik <jeff@garzik.org>
Fri, 9 Mar 2007 16:51:44 +0000 (11:51 -0500)
We must exit immediately on a FIFO fill not take the end of packet path
otherwise each underrun in PIO transmit mode causes a runt packet and the
data is lost.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/wan/z85230.c

index 8dbcf83bb5f360a96d4b2b1320489e7af78eb5e7..8b4540bfc1b0b3b7949b86ae5cd6de58ab043b2f 100644 (file)
@@ -407,7 +407,7 @@ static void z8530_tx(struct z8530_channel *c)
        while(c->txcount) {
                /* FIFO full ? */
                if(!(read_zsreg(c, R0)&4))
-                       break;
+                       return;
                c->txcount--;
                /*
                 *      Shovel out the byte