Re: [PATCH] xircom_cb should return NETDEV_TX_BUSY when there are no descriptors available

2008-02-05 Thread Jeff Garzik

Erik Mouw wrote:

Hi,

Changes in other networking paths uncovered a bug in the xircom_cb
driver which made the kernel spew lots of the following error messages:

  BUG eth1 code -5 qlen 0

It turned out that the driver returned -EIO when there was no
descriptor available for sending packets. It should return
NETDEV_TX_BUSY instead. This was discussed on the netdev list before,
see http://thread.gmane.org/gmane.linux.network/84603 .

Signed-off-by: Erik Mouw <[EMAIL PROTECTED]>

diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c
index 8fc7274..6b93d01 100644
--- a/drivers/net/tulip/xircom_cb.c
+++ b/drivers/net/tulip/xircom_cb.c
@@ -441,7 +441,7 @@ static int xircom_start_xmit(struct sk_buff *skb, struct 
net_device *dev)
spin_unlock_irqrestore(&card->lock,flags);
trigger_transmit(card);
 
-	return -EIO;

+   return NETDEV_TX_BUSY;
 }
 
 



applied


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] xircom_cb should return NETDEV_TX_BUSY when there are no descriptors available

2008-02-04 Thread Jeff Garzik

Erik Mouw wrote:

On Mon, Feb 04, 2008 at 06:56:54PM +0100, Erik Mouw wrote:

Changes in other networking paths uncovered a bug in the xircom_cb
driver which made the kernel spew lots of the following error messages:

  BUG eth1 code -5 qlen 0

It turned out that the driver returned -EIO when there was no
descriptor available for sending packets. It should return
NETDEV_TX_BUSY instead. This was discussed on the netdev list before,
see http://thread.gmane.org/gmane.linux.network/84603 .

Signed-off-by: Erik Mouw <[EMAIL PROTECTED]>


Forgot to tell: the patch is against 2.6.24 but should apply cleanly to
the latest git kernel. The xircom_cb driver appears to be orphaned so
I've send the patch to you.


Yep, that's the right thing to do...

Jeff



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] xircom_cb should return NETDEV_TX_BUSY when there are no descriptors available

2008-02-04 Thread Erik Mouw
On Mon, Feb 04, 2008 at 06:56:54PM +0100, Erik Mouw wrote:
> Changes in other networking paths uncovered a bug in the xircom_cb
> driver which made the kernel spew lots of the following error messages:
> 
>   BUG eth1 code -5 qlen 0
> 
> It turned out that the driver returned -EIO when there was no
> descriptor available for sending packets. It should return
> NETDEV_TX_BUSY instead. This was discussed on the netdev list before,
> see http://thread.gmane.org/gmane.linux.network/84603 .
> 
> Signed-off-by: Erik Mouw <[EMAIL PROTECTED]>

Forgot to tell: the patch is against 2.6.24 but should apply cleanly to
the latest git kernel. The xircom_cb driver appears to be orphaned so
I've send the patch to you.


Erik

-- 
They're all fools. Don't worry. Darwin may be slow, but he'll
eventually get them. -- Matthew Lammers in alt.sysadmin.recovery


signature.asc
Description: Digital signature


[PATCH] xircom_cb should return NETDEV_TX_BUSY when there are no descriptors available

2008-02-04 Thread Erik Mouw
Hi,

Changes in other networking paths uncovered a bug in the xircom_cb
driver which made the kernel spew lots of the following error messages:

  BUG eth1 code -5 qlen 0

It turned out that the driver returned -EIO when there was no
descriptor available for sending packets. It should return
NETDEV_TX_BUSY instead. This was discussed on the netdev list before,
see http://thread.gmane.org/gmane.linux.network/84603 .

Signed-off-by: Erik Mouw <[EMAIL PROTECTED]>

diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c
index 8fc7274..6b93d01 100644
--- a/drivers/net/tulip/xircom_cb.c
+++ b/drivers/net/tulip/xircom_cb.c
@@ -441,7 +441,7 @@ static int xircom_start_xmit(struct sk_buff *skb, struct 
net_device *dev)
spin_unlock_irqrestore(&card->lock,flags);
trigger_transmit(card);
 
-   return -EIO;
+   return NETDEV_TX_BUSY;
 }
 
 



signature.asc
Description: Digital signature