[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100220.003122.26280041.anemo@mba.ocn.ne.jp>
Date: Sat, 20 Feb 2010 00:31:22 +0900 (JST)
From: Atsushi Nemoto <anemo@....ocn.ne.jp>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, ralf.roesch@...gmbh.de
Subject: Re: [PATCH] tc35815: Remove a wrong netif_wake_queue() call which
triggers BUG_ON
On Sat, 20 Feb 2010 00:13:58 +0900, Atsushi Nemoto <anemo@....ocn.ne.jp> wrote:
> @@ -1437,7 +1437,6 @@ static int tc35815_do_interrupt(struct net_device *dev, u32 status, int limit)
> /* Transmit complete. */
> lp->lstats.tx_ints++;
> tc35815_txdone(dev);
> - netif_wake_queue(dev);
> if (ret < 0)
> ret = 0;
> }
BTY, it looks isa-skelton.c have same problem.
void net_tx(struct net_device *dev)
{
...
if (netif_queue_stopped(dev) && ! tx_full(dev))
netif_wake_queue(dev);
...
}
static irqreturn_t net_interrupt(int irq, void *dev_id)
{
...
if (status & TX_INTR) {
/* Transmit complete. */
net_tx(dev);
np->stats.tx_packets++;
netif_wake_queue(dev);
}
...
}
I suppose here is the far origin of the bug :)
---
Atsushi Nemoto
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists