Patchwork [v2,net] gianfar : Do right check on num_txbdfree

login
register
mail settings
Submitter Rini van Zetten
Date Feb. 26, 2009, 10:25 a.m.
Message ID <49A66E2D.3060204@arvoo.nl>
Download mbox | patch
Permalink /patch/23767/
State Accepted, archived
Delegated to: Kumar Gala
Headers show

Comments

Rini van Zetten - Feb. 26, 2009, 10:25 a.m.
This patch fixes a wrong check on num_txbdfree. It could lead to num_txbdfree become nagative.
Result was that the gianfar stops sending data.

Changes from first version :
- removed a space between parens (David Millers comment)
- full email address in signed off line


Signed-off-by: Rini van Zetten <rini@arvoo.nl>
---
  drivers/net/gianfar.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
Geert Uytterhoeven - Feb. 26, 2009, 4:03 p.m.
On Thu, 26 Feb 2009, Rini van Zetten wrote:
> This patch fixes a wrong check on num_txbdfree. It could lead to num_txbdfree
> become nagative.
> Result was that the gianfar stops sending data.

A quick mental note for your next patch submission:

> Changes from first version :
> - removed a space between parens (David Millers comment)
> - full email address in signed off line

Changelogs since previous versions should be ...

> Signed-off-by: Rini van Zetten <rini@arvoo.nl>
> ---

... here, below the `---', as they're not supposed to be end up in the final
commit message.

>  drivers/net/gianfar.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Techsoft Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:    +32 (0)2 700 8453
Fax:      +32 (0)2 700 8622
E-mail:   Geert.Uytterhoeven@sonycom.com
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010
Andy Fleming - Feb. 26, 2009, 10:07 p.m.
On Thu, Feb 26, 2009 at 4:25 AM, Rini van Zetten <rini@arvoo.nl> wrote:
> This patch fixes a wrong check on num_txbdfree. It could lead to
> num_txbdfree become nagative.
> Result was that the gianfar stops sending data.
>
> Changes from first version :
> - removed a space between parens (David Millers comment)
> - full email address in signed off line
>
>
> Signed-off-by: Rini van Zetten <rini@arvoo.nl>

Good catch.  Does this solve the bug you reported earlier?

Acked-by: Andy Fleming <afleming@freescale.com>
David Miller - Feb. 27, 2009, 11:18 a.m.
From: Andy Fleming <afleming@gmail.com>
Date: Thu, 26 Feb 2009 16:07:16 -0600

> On Thu, Feb 26, 2009 at 4:25 AM, Rini van Zetten <rini@arvoo.nl> wrote:
> > This patch fixes a wrong check on num_txbdfree. It could lead to
> > num_txbdfree become nagative.
> > Result was that the gianfar stops sending data.
> >
> > Changes from first version :
> > - removed a space between parens (David Millers comment)
> > - full email address in signed off line
> >
> >
> > Signed-off-by: Rini van Zetten <rini@arvoo.nl>
> 
> Good catch.  Does this solve the bug you reported earlier?
> 
> Acked-by: Andy Fleming <afleming@freescale.com>

Applied, thanks.

Patch

diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 7ef1ffd..2dc3bd3 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -1284,9 +1284,8 @@  static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
      spin_lock_irqsave(&priv->txlock, flags);

      /* check if there is space to queue this packet */
-    if (nr_frags > priv->num_txbdfree) {
+    if ((nr_frags+1) > priv->num_txbdfree) {
          /* no space, stop the queue */
          netif_stop_queue(dev);
          dev->stats.tx_fifo_errors++;
          spin_unlock_irqrestore(&priv->txlock, flags);
--