diff mbox

isa-skelton: Remove a wrong netif_wake_queue() call

Message ID 1267027217-7812-1-git-send-email-anemo@mba.ocn.ne.jp
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Atsushi Nemoto Feb. 24, 2010, 4 p.m. UTC
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(-)

Comments

David Miller Feb. 26, 2010, 9:51 a.m. UTC | #1
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
Atsushi Nemoto Feb. 26, 2010, 4:13 p.m. UTC | #2
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
Jeff Garzik Feb. 26, 2010, 5:03 p.m. UTC | #3
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 mbox

Patch

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) {