From 5583b705e6a2c1494e5424b7fb3d7a1abcd287bb Mon Sep 17 00:00:00 2001 From: Erik Waling Date: Wed, 15 Apr 2009 23:32:10 +0000 Subject: [PATCH] --- yaml --- r: 143867 b: refs/heads/master c: ee33c58541bae92669fe64a39f695ab533d0de14 h: refs/heads/master i: 143865: 27e4bc8cc77855b74df6672b670fcfc07bda2352 143863: 91ee3f6ffee8f12dfa3eaef3eda15621747a0686 v: v3 --- [refs] | 2 +- trunk/drivers/net/macb.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 729d861d5102..8658415bfc2c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2f3889f42ec7c2b0c3049ecdd8e4687b6930779a +refs/heads/master: ee33c58541bae92669fe64a39f695ab533d0de14 diff --git a/trunk/drivers/net/macb.c b/trunk/drivers/net/macb.c index 46073de290cf..9fcc717f4d1a 100644 --- a/trunk/drivers/net/macb.c +++ b/trunk/drivers/net/macb.c @@ -316,10 +316,11 @@ static void macb_tx(struct macb *bp) dev_dbg(&bp->pdev->dev, "macb_tx status = %02lx\n", (unsigned long)status); - if (status & MACB_BIT(UND)) { + if (status & (MACB_BIT(UND) | MACB_BIT(TSR_RLE))) { int i; - printk(KERN_ERR "%s: TX underrun, resetting buffers\n", - bp->dev->name); + printk(KERN_ERR "%s: TX %s, resetting buffers\n", + bp->dev->name, status & MACB_BIT(UND) ? + "underrun" : "retry limit exceeded"); /* Transfer ongoing, disable transmitter, to avoid confusion */ if (status & MACB_BIT(TGO)) @@ -590,7 +591,8 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id) } } - if (status & (MACB_BIT(TCOMP) | MACB_BIT(ISR_TUND))) + if (status & (MACB_BIT(TCOMP) | MACB_BIT(ISR_TUND) | + MACB_BIT(ISR_RLE))) macb_tx(bp); /*