The patch titled sundance: restore the original TX FIFO overflow process. has been removed from the -mm tree. Its filename is sundance-restore-the-original-tx-fifo-overflow-process.patch This patch was dropped because it's a mess ------------------------------------------------------ Subject: sundance: restore the original TX FIFO overflow process. From: Jesse Huang <jesse@xxxxxxxxxxxxx> Restore the original TX FIFO overflow process. Signed-off-by: Jesse Huang <jesse@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/net/sundance.c | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff -puN drivers/net/sundance.c~sundance-restore-the-original-tx-fifo-overflow-process drivers/net/sundance.c --- a/drivers/net/sundance.c~sundance-restore-the-original-tx-fifo-overflow-process +++ a/drivers/net/sundance.c @@ -1164,22 +1164,31 @@ static irqreturn_t intr_handler(int irq, if (tx_status & 0x02) np->stats.tx_window_errors++; - /* FIFO ERROR need to be reset tx */ - if (tx_status & 0x10) { /* Reset the Tx. */ - spin_lock(&np->lock); - reset_tx(dev); - spin_unlock(&np->lock); - } - if (tx_status & 0x1e) { - /* need to make sure tx enabled */ - int i = 10; - do { - iowrite16(ioread16(ioaddr + MACCtrl1) | TxEnable, ioaddr + MACCtrl1); - if (ioread16(ioaddr + MACCtrl1) & TxEnabled) - break; - mdelay(1); - } while (--i); + /* + ** This reset has been verified on + ** DFE-580TX boards ! phdm@xxxxxxxxxx + */ + if (tx_status & 0x10) { /* TxUnderrun */ + unsigned short txthreshold; + + txthreshold = ioread16 (ioaddr + TxStartThresh); + /* Restart Tx FIFO and transmitter */ + sundance_reset(dev, (NetworkReset|FIFOReset|TxReset) << 16); + iowrite16 (txthreshold, ioaddr + TxStartThresh); + /* No need to reset the Tx pointer here */ } + /* Restart the Tx. */ + iowrite16 (TxEnable, ioaddr + MACCtrl1); + } + if (tx_status & 0x1e) { + /* need to make sure tx enabled */ + int i = 10; + do { + iowrite16(ioread16(ioaddr + MACCtrl1) | TxEnable, ioaddr + MACCtrl1); + if (ioread16(ioaddr + MACCtrl1) & TxEnabled) + break; + mdelay(1); + } while (--i); } iowrite16 (0, ioaddr + TxStatus); _ Patches currently in -mm which might be from jesse@xxxxxxxxxxxxx are sundance-restore-the-original-tx-fifo-overflow-process.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html