Message ID | 1267027217-7812-1-git-send-email-anemo@mba.ocn.ne.jp |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Date: Thu, 25 Feb 2010 01:00:17 +0900 > The netif_wake_queue() is called correctly (i.e. only on !txfull > condition) from net_tx(). So Unconditional call to the > netif_wake_queue() here is wrong. This might cause calling of > start_xmit routine on txfull state and trigger tx-ring overflow. > > This fix is ported from commit 662a96bd6f020782dfbdc0d0bd177c7dbb556687. > > Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Applied. Please reference commits by also making mention of the commit log message header line. This way when a patch is backported into another tree, people can still find it even if the SHA1 ID is different. For exmaple, I fixed the above to read: This fix is ported from commit 662a96bd6f020782dfbdc0d0bd177c7dbb556687 ("tc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ON"). Thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 26 Feb 2010 01:51:38 -0800 (PST), David Miller <davem@davemloft.net> wrote: > Please reference commits by also making mention of the commit > log message header line. This way when a patch is backported > into another tree, people can still find it even if the > SHA1 ID is different. For exmaple, I fixed the above to > read: > > This fix is ported from commit 662a96bd6f020782dfbdc0d0bd177c7dbb556687 > ("tc35815: Remove a wrong netif_wake_queue() call which triggers BUG_ON"). Yes, I will do so next time. Thank you. --- Atsushi Nemoto -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 02/24/2010 11:00 AM, Atsushi Nemoto wrote: > The netif_wake_queue() is called correctly (i.e. only on !txfull > condition) from net_tx(). So Unconditional call to the > netif_wake_queue() here is wrong. This might cause calling of > start_xmit routine on txfull state and trigger tx-ring overflow. > > This fix is ported from commit 662a96bd6f020782dfbdc0d0bd177c7dbb556687. > > Signed-off-by: Atsushi Nemoto<anemo@mba.ocn.ne.jp> > --- > drivers/net/isa-skeleton.c | 1 - > 1 files changed, 0 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/isa-skeleton.c b/drivers/net/isa-skeleton.c > index 04d0502..3f33c90 100644 > --- a/drivers/net/isa-skeleton.c > +++ b/drivers/net/isa-skeleton.c > @@ -536,7 +536,6 @@ static irqreturn_t net_interrupt(int irq, void *dev_id) > /* Transmit complete. */ > net_tx(dev); > np->stats.tx_packets++; > - netif_wake_queue(dev); > } > #endif I would suggest deleting this "driver" entirely... Any new drivers remotely like ISA would use the platform API and look more like a PCI driver. Jeff -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/isa-skeleton.c b/drivers/net/isa-skeleton.c index 04d0502..3f33c90 100644 --- a/drivers/net/isa-skeleton.c +++ b/drivers/net/isa-skeleton.c @@ -536,7 +536,6 @@ static irqreturn_t net_interrupt(int irq, void *dev_id) /* Transmit complete. */ net_tx(dev); np->stats.tx_packets++; - netif_wake_queue(dev); } #endif if (status & COUNTERS_INTR) {
The netif_wake_queue() is called correctly (i.e. only on !txfull condition) from net_tx(). So Unconditional call to the netif_wake_queue() here is wrong. This might cause calling of start_xmit routine on txfull state and trigger tx-ring overflow. This fix is ported from commit 662a96bd6f020782dfbdc0d0bd177c7dbb556687. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> --- drivers/net/isa-skeleton.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)