net: fix network drivers ndo_start_xmit() return values (part 4)
authorPatrick McHardy <kaber@trash.net>
Fri, 12 Jun 2009 04:37:34 +0000 (04:37 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 13 Jun 2009 08:18:39 +0000 (01:18 -0700)
Fix up WAN drivers that return an errno value to qdisc_restart(), causing
qdisc_restart() to print a warning an requeue/retransmit the skb.

- cycx_x25: intention appears to be to requeue the skb

Does not compile cleanly for me even without this patch, so untested.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wan/cycx_x25.c

index 35dea3b..f525f9f 100644 (file)
@@ -615,7 +615,7 @@ static int cycx_netdevice_hard_start_xmit(struct sk_buff *skb,
                case WAN_DISCONNECTED:
                        if (cycx_x25_chan_connect(dev)) {
                                netif_stop_queue(dev);
-                               return -EBUSY;
+                               return NETDEV_TX_BUSY;
                        }
                        /* fall thru */
                case WAN_CONNECTED:
@@ -624,7 +624,7 @@ static int cycx_netdevice_hard_start_xmit(struct sk_buff *skb,
                        netif_stop_queue(dev);
 
                        if (cycx_x25_chan_send(dev, skb))
-                               return -EBUSY;
+                               return NETDEV_TX_BUSY;
 
                        break;
                default:
@@ -656,7 +656,7 @@ static int cycx_netdevice_hard_start_xmit(struct sk_buff *skb,
                if (cycx_x25_chan_send(dev, skb)) {
                        /* prepare for future retransmissions */
                        skb_push(skb, 1);
-                       return -EBUSY;
+                       return NETDEV_TX_BUSY;
                }
        }