Thread (11 messages) flat view 11 messages, 5 authors, 2012-02-07

Re: [PATCH] fec: fix tx bounce handling

From: Eric Dumazet <hidden>
Date: 2012-02-06 16:25:13

Le lundi 06 février 2012 à 17:09 +0100, Tim Sander a écrit :
Hi

I forward ported the patch i have for 3.0-rt (which was working on a quick test) 
to the net-dev  branch with the patch from Eric mixed in. 

But a quick test revealed that dmesg is full of:
eth0: tx queue full!.
Not good! Any suggestions on this?
Please dont mix things.

My patch has nothing to do with the TX ring handling.
quoted hunk ↗ jump to hunk
Tim

Heres my patch for 3.3:
diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c
index 336edd7..74d5865 100644
--- a/drivers/net/ethernet/freescale/fec.c
+++ b/drivers/net/ethernet/freescale/fec.c
@@ -284,11 +284,6 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *ndev)
        unsigned short  status;
        unsigned long flags;
 
-       if (!fep->link) {


We first must fix the driver before removing this work around.

-               /* Link is down or autonegotiation is in progress. */
-               return NETDEV_TX_BUSY;
-       }
-
In fact, returning NETDEV_TX_BUSY here is proof driver is buggy.

We should not enter fec_enet_start_xmit() is device is not ready to send
frames.

There are missing netif_stop_queue(dev) in this driver.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help