aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/3c505.c2
-rw-r--r--drivers/net/3c515.c2
-rw-r--r--drivers/net/3c527.c2
-rw-r--r--drivers/net/3c59x.c2
-rw-r--r--drivers/net/7990.c2
-rw-r--r--drivers/net/8139cp.c2
-rw-r--r--drivers/net/a2065.c2
-rw-r--r--drivers/net/arm/at91_ether.c2
-rw-r--r--drivers/net/arm/ether3.c2
-rw-r--r--drivers/net/au1000_eth.c2
-rw-r--r--drivers/net/cassini.c2
-rw-r--r--drivers/net/cs89x0.c2
-rw-r--r--drivers/net/de600.c6
-rw-r--r--drivers/net/de620.c2
-rw-r--r--drivers/net/defxx.c2
-rw-r--r--drivers/net/depca.c4
-rw-r--r--drivers/net/dm9000.c2
-rw-r--r--drivers/net/e100.c2
-rw-r--r--drivers/net/ewrk3.c2
-rw-r--r--drivers/net/fec.c4
-rw-r--r--drivers/net/hamachi.c2
-rw-r--r--drivers/net/hamradio/baycom_epp.c2
-rw-r--r--drivers/net/hamradio/hdlcdrv.c2
-rw-r--r--drivers/net/hamradio/mkiss.c4
-rw-r--r--drivers/net/ibm_newemac/core.c2
-rw-r--r--drivers/net/irda/au1k_ir.c4
-rw-r--r--drivers/net/irda/sir_dev.c2
-rw-r--r--drivers/net/lib8390.c2
-rw-r--r--drivers/net/mac89x0.c2
-rw-r--r--drivers/net/macb.c2
-rw-r--r--drivers/net/mace.c2
-rw-r--r--drivers/net/myri10ge/myri10ge.c2
-rw-r--r--drivers/net/myri_sbus.c2
-rw-r--r--drivers/net/ni65.c2
-rw-r--r--drivers/net/ns83820.c4
-rw-r--r--drivers/net/pcmcia/axnet_cs.c2
-rw-r--r--drivers/net/pcmcia/fmvj18x_cs.c2
-rw-r--r--drivers/net/pcmcia/smc91c92_cs.c2
-rw-r--r--drivers/net/pcmcia/xirc2ps_cs.c2
-rw-r--r--drivers/net/plip.c6
-rw-r--r--drivers/net/sb1250-mac.c2
-rw-r--r--drivers/net/sh_eth.c2
-rw-r--r--drivers/net/sis900.c2
-rw-r--r--drivers/net/skfp/skfddi.c2
-rw-r--r--drivers/net/smc9194.c2
-rw-r--r--drivers/net/sonic.c2
-rw-r--r--drivers/net/starfire.c2
-rw-r--r--drivers/net/sun3_82586.c2
-rw-r--r--drivers/net/sun3lance.c4
-rw-r--r--drivers/net/sunhme.c2
-rw-r--r--drivers/net/tlan.c2
-rw-r--r--drivers/net/tokenring/3c359.c2
-rw-r--r--drivers/net/tokenring/lanstreamer.c2
-rw-r--r--drivers/net/tokenring/olympic.c2
-rw-r--r--drivers/net/tokenring/smctr.c2
-rw-r--r--drivers/net/tokenring/tms380tr.c2
-rw-r--r--drivers/net/tulip/de2104x.c2
-rw-r--r--drivers/net/tulip/de4x5.c6
-rw-r--r--drivers/net/tulip/dmfe.c2
-rw-r--r--drivers/net/tulip/uli526x.c2
-rw-r--r--drivers/net/wan/dlci.c6
-rw-r--r--drivers/net/wan/sbni.c2
-rw-r--r--drivers/net/wan/wanxl.c2
-rw-r--r--drivers/net/wireless/airo.c6
-rw-r--r--drivers/net/wireless/arlan-main.c2
-rw-r--r--drivers/net/wireless/atmel.c2
-rw-r--r--drivers/net/wireless/hostap/hostap_80211_tx.c2
-rw-r--r--drivers/net/wireless/ipw2x00/libipw_tx.c2
-rw-r--r--drivers/net/wireless/ray_cs.c6
-rw-r--r--drivers/net/wireless/strip.c2
-rw-r--r--drivers/net/wireless/wavelan.c6
71 files changed, 91 insertions, 91 deletions
diff --git a/drivers/net/3c505.c b/drivers/net/3c505.c
index b28499459cd6..f71b35402755 100644
--- a/drivers/net/3c505.c
+++ b/drivers/net/3c505.c
@@ -1088,7 +1088,7 @@ static int elp_start_xmit(struct sk_buff *skb, struct net_device *dev)
1088 pr_debug("%s: failed to transmit packet\n", dev->name); 1088 pr_debug("%s: failed to transmit packet\n", dev->name);
1089 } 1089 }
1090 spin_unlock_irqrestore(&adapter->lock, flags); 1090 spin_unlock_irqrestore(&adapter->lock, flags);
1091 return 1; 1091 return NETDEV_TX_BUSY;
1092 } 1092 }
1093 if (elp_debug >= 3) 1093 if (elp_debug >= 3)
1094 pr_debug("%s: packet of length %d sent\n", dev->name, (int) skb->len); 1094 pr_debug("%s: packet of length %d sent\n", dev->name, (int) skb->len);
diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c
index 7fd0ff743757..3e00fa8ea65f 100644
--- a/drivers/net/3c515.c
+++ b/drivers/net/3c515.c
@@ -1014,7 +1014,7 @@ static int corkscrew_start_xmit(struct sk_buff *skb,
1014 int i; 1014 int i;
1015 1015
1016 if (vp->tx_full) /* No room to transmit with */ 1016 if (vp->tx_full) /* No room to transmit with */
1017 return 1; 1017 return NETDEV_TX_BUSY;
1018 if (vp->cur_tx != 0) 1018 if (vp->cur_tx != 0)
1019 prev_entry = &vp->tx_ring[(vp->cur_tx - 1) % TX_RING_SIZE]; 1019 prev_entry = &vp->tx_ring[(vp->cur_tx - 1) % TX_RING_SIZE];
1020 else 1020 else
diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c
index c10ca30458f6..aaa8a9f405d4 100644
--- a/drivers/net/3c527.c
+++ b/drivers/net/3c527.c
@@ -1030,7 +1030,7 @@ static int mc32_send_packet(struct sk_buff *skb, struct net_device *dev)
1030 netif_stop_queue(dev); 1030 netif_stop_queue(dev);
1031 1031
1032 if(atomic_read(&lp->tx_count)==0) { 1032 if(atomic_read(&lp->tx_count)==0) {
1033 return 1; 1033 return NETDEV_TX_BUSY;
1034 } 1034 }
1035 1035
1036 if (skb_padto(skb, ETH_ZLEN)) { 1036 if (skb_padto(skb, ETH_ZLEN)) {
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index a6e8a2da3bcd..c34aee91250b 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -2107,7 +2107,7 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
2107 pr_warning("%s: BUG! Tx Ring full, refusing to send buffer.\n", 2107 pr_warning("%s: BUG! Tx Ring full, refusing to send buffer.\n",
2108 dev->name); 2108 dev->name);
2109 netif_stop_queue(dev); 2109 netif_stop_queue(dev);
2110 return 1; 2110 return NETDEV_TX_BUSY;
2111 } 2111 }
2112 2112
2113 vp->tx_skbuff[entry] = skb; 2113 vp->tx_skbuff[entry] = skb;
diff --git a/drivers/net/7990.c b/drivers/net/7990.c
index 7a331acc34ad..69f5b7d298a6 100644
--- a/drivers/net/7990.c
+++ b/drivers/net/7990.c
@@ -541,7 +541,7 @@ int lance_start_xmit (struct sk_buff *skb, struct net_device *dev)
541 unsigned long flags; 541 unsigned long flags;
542 542
543 if (!TX_BUFFS_AVAIL) 543 if (!TX_BUFFS_AVAIL)
544 return -1; 544 return NETDEV_TX_LOCKED;
545 545
546 netif_stop_queue (dev); 546 netif_stop_queue (dev);
547 547
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c
index c9fc0ff14a4d..50efde11ea6c 100644
--- a/drivers/net/8139cp.c
+++ b/drivers/net/8139cp.c
@@ -756,7 +756,7 @@ static int cp_start_xmit (struct sk_buff *skb, struct net_device *dev)
756 spin_unlock_irqrestore(&cp->lock, intr_flags); 756 spin_unlock_irqrestore(&cp->lock, intr_flags);
757 pr_err(PFX "%s: BUG! Tx Ring full when queue awake!\n", 757 pr_err(PFX "%s: BUG! Tx Ring full when queue awake!\n",
758 dev->name); 758 dev->name);
759 return 1; 759 return NETDEV_TX_BUSY;
760 } 760 }
761 761
762#if CP_VLAN_TAG_USED 762#if CP_VLAN_TAG_USED
diff --git a/drivers/net/a2065.c b/drivers/net/a2065.c
index 02f64d578641..85a18175730b 100644
--- a/drivers/net/a2065.c
+++ b/drivers/net/a2065.c
@@ -564,7 +564,7 @@ static int lance_start_xmit (struct sk_buff *skb, struct net_device *dev)
564 564
565 if (!TX_BUFFS_AVAIL){ 565 if (!TX_BUFFS_AVAIL){
566 local_irq_restore(flags); 566 local_irq_restore(flags);
567 return -1; 567 return NETDEV_TX_LOCKED;
568 } 568 }
569 569
570#ifdef DEBUG_DRIVER 570#ifdef DEBUG_DRIVER
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c
index 7f4bc8ae5462..2e7419a61191 100644
--- a/drivers/net/arm/at91_ether.c
+++ b/drivers/net/arm/at91_ether.c
@@ -829,7 +829,7 @@ static int at91ether_start_xmit(struct sk_buff *skb, struct net_device *dev)
829 dev->trans_start = jiffies; 829 dev->trans_start = jiffies;
830 } else { 830 } else {
831 printk(KERN_ERR "at91_ether.c: at91ether_start_xmit() called, but device is busy!\n"); 831 printk(KERN_ERR "at91_ether.c: at91ether_start_xmit() called, but device is busy!\n");
832 return 1; /* if we return anything but zero, dev.c:1055 calls kfree_skb(skb) 832 return NETDEV_TX_BUSY; /* if we return anything but zero, dev.c:1055 calls kfree_skb(skb)
833 on this skb, he also reports -ENETDOWN and printk's, so either 833 on this skb, he also reports -ENETDOWN and printk's, so either
834 we free and return(0) or don't free and return 1 */ 834 we free and return(0) or don't free and return 1 */
835 } 835 }
diff --git a/drivers/net/arm/ether3.c b/drivers/net/arm/ether3.c
index ec8a1ae1e887..455037134aa3 100644
--- a/drivers/net/arm/ether3.c
+++ b/drivers/net/arm/ether3.c
@@ -526,7 +526,7 @@ ether3_sendpacket(struct sk_buff *skb, struct net_device *dev)
526 526
527 if (priv(dev)->tx_tail == next_ptr) { 527 if (priv(dev)->tx_tail == next_ptr) {
528 local_irq_restore(flags); 528 local_irq_restore(flags);
529 return 1; /* unable to queue */ 529 return NETDEV_TX_BUSY; /* unable to queue */
530 } 530 }
531 531
532 dev->trans_start = jiffies; 532 dev->trans_start = jiffies;
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index d58c105fc779..d3c734f4d679 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -957,7 +957,7 @@ static int au1000_tx(struct sk_buff *skb, struct net_device *dev)
957 /* We've wrapped around and the transmitter is still busy */ 957 /* We've wrapped around and the transmitter is still busy */
958 netif_stop_queue(dev); 958 netif_stop_queue(dev);
959 aup->tx_full = 1; 959 aup->tx_full = 1;
960 return 1; 960 return NETDEV_TX_BUSY;
961 } 961 }
962 else if (buff_stat & TX_T_DONE) { 962 else if (buff_stat & TX_T_DONE) {
963 update_tx_stats(dev, ptxd->status); 963 update_tx_stats(dev, ptxd->status);
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index f5222764061c..eb066673c2a0 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -2934,7 +2934,7 @@ static int cas_start_xmit(struct sk_buff *skb, struct net_device *dev)
2934 * individual queues. 2934 * individual queues.
2935 */ 2935 */
2936 if (cas_xmit_tx_ringN(cp, ring++ & N_TX_RINGS_MASK, skb)) 2936 if (cas_xmit_tx_ringN(cp, ring++ & N_TX_RINGS_MASK, skb))
2937 return 1; 2937 return NETDEV_TX_BUSY;
2938 dev->trans_start = jiffies; 2938 dev->trans_start = jiffies;
2939 return 0; 2939 return 0;
2940} 2940}
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c
index 7433b88eed7e..3eee666a9cd2 100644
--- a/drivers/net/cs89x0.c
+++ b/drivers/net/cs89x0.c
@@ -1551,7 +1551,7 @@ static int net_send_packet(struct sk_buff *skb, struct net_device *dev)
1551 1551
1552 spin_unlock_irq(&lp->lock); 1552 spin_unlock_irq(&lp->lock);
1553 if (net_debug) printk("cs89x0: Tx buffer not free!\n"); 1553 if (net_debug) printk("cs89x0: Tx buffer not free!\n");
1554 return 1; 1554 return NETDEV_TX_BUSY;
1555 } 1555 }
1556 /* Write the contents of the packet */ 1556 /* Write the contents of the packet */
1557 writewords(dev->base_addr, TX_FRAME_PORT,skb->data,(skb->len+1) >>1); 1557 writewords(dev->base_addr, TX_FRAME_PORT,skb->data,(skb->len+1) >>1);
diff --git a/drivers/net/de600.c b/drivers/net/de600.c
index c866ca99a068..e1af089064bc 100644
--- a/drivers/net/de600.c
+++ b/drivers/net/de600.c
@@ -168,14 +168,14 @@ static int de600_start_xmit(struct sk_buff *skb, struct net_device *dev)
168 if (free_tx_pages <= 0) { /* Do timeouts, to avoid hangs. */ 168 if (free_tx_pages <= 0) { /* Do timeouts, to avoid hangs. */
169 tickssofar = jiffies - dev->trans_start; 169 tickssofar = jiffies - dev->trans_start;
170 if (tickssofar < 5) 170 if (tickssofar < 5)
171 return 1; 171 return NETDEV_TX_BUSY;
172 /* else */ 172 /* else */
173 printk(KERN_WARNING "%s: transmit timed out (%d), %s?\n", dev->name, tickssofar, "network cable problem"); 173 printk(KERN_WARNING "%s: transmit timed out (%d), %s?\n", dev->name, tickssofar, "network cable problem");
174 /* Restart the adapter. */ 174 /* Restart the adapter. */
175 spin_lock_irqsave(&de600_lock, flags); 175 spin_lock_irqsave(&de600_lock, flags);
176 if (adapter_init(dev)) { 176 if (adapter_init(dev)) {
177 spin_unlock_irqrestore(&de600_lock, flags); 177 spin_unlock_irqrestore(&de600_lock, flags);
178 return 1; 178 return NETDEV_TX_BUSY;
179 } 179 }
180 spin_unlock_irqrestore(&de600_lock, flags); 180 spin_unlock_irqrestore(&de600_lock, flags);
181 } 181 }
@@ -199,7 +199,7 @@ static int de600_start_xmit(struct sk_buff *skb, struct net_device *dev)
199 if (was_down || (de600_read_byte(READ_DATA, dev) != 0xde)) { 199 if (was_down || (de600_read_byte(READ_DATA, dev) != 0xde)) {
200 if (adapter_init(dev)) { 200 if (adapter_init(dev)) {
201 spin_unlock_irqrestore(&de600_lock, flags); 201 spin_unlock_irqrestore(&de600_lock, flags);
202 return 1; 202 return NETDEV_TX_BUSY;
203 } 203 }
204 } 204 }
205 } 205 }
diff --git a/drivers/net/de620.c b/drivers/net/de620.c
index 039bc1acadd3..55d2bb67cffa 100644
--- a/drivers/net/de620.c
+++ b/drivers/net/de620.c
@@ -531,7 +531,7 @@ static int de620_start_xmit(struct sk_buff *skb, struct net_device *dev)
531 case (TXBF0 | TXBF1): /* NONE!!! */ 531 case (TXBF0 | TXBF1): /* NONE!!! */
532 printk(KERN_WARNING "%s: No tx-buffer available!\n", dev->name); 532 printk(KERN_WARNING "%s: No tx-buffer available!\n", dev->name);
533 spin_unlock_irqrestore(&de620_lock, flags); 533 spin_unlock_irqrestore(&de620_lock, flags);
534 return 1; 534 return NETDEV_TX_BUSY;
535 } 535 }
536 de620_write_block(dev, buffer, skb->len, len-skb->len); 536 de620_write_block(dev, buffer, skb->len, len-skb->len);
537 537
diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c
index 4ec055dc7174..102b8d439714 100644
--- a/drivers/net/defxx.c
+++ b/drivers/net/defxx.c
@@ -3318,7 +3318,7 @@ static int dfx_xmt_queue_pkt(
3318 { 3318 {
3319 skb_pull(skb,3); 3319 skb_pull(skb,3);
3320 spin_unlock_irqrestore(&bp->lock, flags); 3320 spin_unlock_irqrestore(&bp->lock, flags);
3321 return(1); /* requeue packet for later */ 3321 return NETDEV_TX_BUSY; /* requeue packet for later */
3322 } 3322 }
3323 3323
3324 /* 3324 /*
diff --git a/drivers/net/depca.c b/drivers/net/depca.c
index 9301eb28d9e2..97ea2d6d3fe1 100644
--- a/drivers/net/depca.c
+++ b/drivers/net/depca.c
@@ -957,7 +957,7 @@ static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev)
957 if (TX_BUFFS_AVAIL) 957 if (TX_BUFFS_AVAIL)
958 netif_start_queue(dev); 958 netif_start_queue(dev);
959 } else 959 } else
960 status = -1; 960 status = NETDEV_TX_LOCKED;
961 961
962 out: 962 out:
963 return status; 963 return status;
@@ -1839,7 +1839,7 @@ static int load_packet(struct net_device *dev, struct sk_buff *skb)
1839 1839
1840 lp->tx_new = (++end) & lp->txRingMask; /* update current pointers */ 1840 lp->tx_new = (++end) & lp->txRingMask; /* update current pointers */
1841 } else { 1841 } else {
1842 status = -1; 1842 status = NETDEV_TX_LOCKED;
1843 } 1843 }
1844 1844
1845 return status; 1845 return status;
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index e402e91bf188..dd771dea6ae6 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -756,7 +756,7 @@ dm9000_start_xmit(struct sk_buff *skb, struct net_device *dev)
756 dm9000_dbg(db, 3, "%s:\n", __func__); 756 dm9000_dbg(db, 3, "%s:\n", __func__);
757 757
758 if (db->tx_pkt_cnt > 1) 758 if (db->tx_pkt_cnt > 1)
759 return 1; 759 return NETDEV_TX_BUSY;
760 760
761 spin_lock_irqsave(&db->lock, flags); 761 spin_lock_irqsave(&db->lock, flags);
762 762
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 119dc5300f9d..e52a2018e91e 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -1716,7 +1716,7 @@ static int e100_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
1716 /* This is a hard error - log it. */ 1716 /* This is a hard error - log it. */
1717 DPRINTK(TX_ERR, DEBUG, "Out of Tx resources, returning skb\n"); 1717 DPRINTK(TX_ERR, DEBUG, "Out of Tx resources, returning skb\n");
1718 netif_stop_queue(netdev); 1718 netif_stop_queue(netdev);
1719 return 1; 1719 return NETDEV_TX_BUSY;
1720 } 1720 }
1721 1721
1722 netdev->trans_start = jiffies; 1722 netdev->trans_start = jiffies;
diff --git a/drivers/net/ewrk3.c b/drivers/net/ewrk3.c
index 1a685a04d4b2..1e9723281405 100644
--- a/drivers/net/ewrk3.c
+++ b/drivers/net/ewrk3.c
@@ -873,7 +873,7 @@ static int ewrk3_queue_pkt (struct sk_buff *skb, struct net_device *dev)
873err_out: 873err_out:
874 ENABLE_IRQs; 874 ENABLE_IRQs;
875 spin_unlock_irq (&lp->hw_lock); 875 spin_unlock_irq (&lp->hw_lock);
876 return 1; 876 return NETDEV_TX_BUSY;
877} 877}
878 878
879/* 879/*
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 28db6919c526..0f19b743749b 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -290,7 +290,7 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
290 290
291 if (!fep->link) { 291 if (!fep->link) {
292 /* Link is down or autonegotiation is in progress. */ 292 /* Link is down or autonegotiation is in progress. */
293 return 1; 293 return NETDEV_TX_BUSY;
294 } 294 }
295 295
296 spin_lock_irqsave(&fep->hw_lock, flags); 296 spin_lock_irqsave(&fep->hw_lock, flags);
@@ -305,7 +305,7 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
305 */ 305 */
306 printk("%s: tx queue full!.\n", dev->name); 306 printk("%s: tx queue full!.\n", dev->name);
307 spin_unlock_irqrestore(&fep->hw_lock, flags); 307 spin_unlock_irqrestore(&fep->hw_lock, flags);
308 return 1; 308 return NETDEV_TX_BUSY;
309 } 309 }
310 310
311 /* Clear all of the status flags */ 311 /* Clear all of the status flags */
diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c
index 26151fa35df5..9d5b62cb30f7 100644
--- a/drivers/net/hamachi.c
+++ b/drivers/net/hamachi.c
@@ -1280,7 +1280,7 @@ static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev)
1280 status=readw(hmp->base + TxStatus); 1280 status=readw(hmp->base + TxStatus);
1281 if( !(status & 0x0001) || (status & 0x0002)) 1281 if( !(status & 0x0001) || (status & 0x0002))
1282 writew(0x0001, hmp->base + TxCmd); 1282 writew(0x0001, hmp->base + TxCmd);
1283 return 1; 1283 return NETDEV_TX_BUSY;
1284 } 1284 }
1285 1285
1286 /* Caution: the write order is important here, set the field 1286 /* Caution: the write order is important here, set the field
diff --git a/drivers/net/hamradio/baycom_epp.c b/drivers/net/hamradio/baycom_epp.c
index bb78c11559cd..5e4b7afd0683 100644
--- a/drivers/net/hamradio/baycom_epp.c
+++ b/drivers/net/hamradio/baycom_epp.c
@@ -777,7 +777,7 @@ static int baycom_send_packet(struct sk_buff *skb, struct net_device *dev)
777 return 0; 777 return 0;
778 } 778 }
779 if (bc->skb) 779 if (bc->skb)
780 return -1; 780 return NETDEV_TX_LOCKED;
781 /* strip KISS byte */ 781 /* strip KISS byte */
782 if (skb->len >= HDLCDRV_MAXFLEN+1 || skb->len < 3) { 782 if (skb->len >= HDLCDRV_MAXFLEN+1 || skb->len < 3) {
783 dev_kfree_skb(skb); 783 dev_kfree_skb(skb);
diff --git a/drivers/net/hamradio/hdlcdrv.c b/drivers/net/hamradio/hdlcdrv.c
index 61de56e45eed..d034f8ca63cb 100644
--- a/drivers/net/hamradio/hdlcdrv.c
+++ b/drivers/net/hamradio/hdlcdrv.c
@@ -409,7 +409,7 @@ static int hdlcdrv_send_packet(struct sk_buff *skb, struct net_device *dev)
409 return 0; 409 return 0;
410 } 410 }
411 if (sm->skb) 411 if (sm->skb)
412 return -1; 412 return NETDEV_TX_LOCKED;
413 netif_stop_queue(dev); 413 netif_stop_queue(dev);
414 sm->skb = skb; 414 sm->skb = skb;
415 return 0; 415 return 0;
diff --git a/drivers/net/hamradio/mkiss.c b/drivers/net/hamradio/mkiss.c
index 032c0db4c410..fda2fc83e9a1 100644
--- a/drivers/net/hamradio/mkiss.c
+++ b/drivers/net/hamradio/mkiss.c
@@ -531,7 +531,7 @@ static int ax_xmit(struct sk_buff *skb, struct net_device *dev)
531 531
532 if (!netif_running(dev)) { 532 if (!netif_running(dev)) {
533 printk(KERN_ERR "mkiss: %s: xmit call when iface is down\n", dev->name); 533 printk(KERN_ERR "mkiss: %s: xmit call when iface is down\n", dev->name);
534 return 1; 534 return NETDEV_TX_BUSY;
535 } 535 }
536 536
537 if (netif_queue_stopped(dev)) { 537 if (netif_queue_stopped(dev)) {
@@ -541,7 +541,7 @@ static int ax_xmit(struct sk_buff *skb, struct net_device *dev)
541 */ 541 */
542 if (time_before(jiffies, dev->trans_start + 20 * HZ)) { 542 if (time_before(jiffies, dev->trans_start + 20 * HZ)) {
543 /* 20 sec timeout not reached */ 543 /* 20 sec timeout not reached */
544 return 1; 544 return NETDEV_TX_BUSY;
545 } 545 }
546 546
547 printk(KERN_ERR "mkiss: %s: transmit timed out, %s?\n", dev->name, 547 printk(KERN_ERR "mkiss: %s: transmit timed out, %s?\n", dev->name,
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 806533c831c7..beb84213b671 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -1484,7 +1484,7 @@ static int emac_start_xmit_sg(struct sk_buff *skb, struct net_device *ndev)
1484 stop_queue: 1484 stop_queue:
1485 netif_stop_queue(ndev); 1485 netif_stop_queue(ndev);
1486 DBG2(dev, "stopped TX queue" NL); 1486 DBG2(dev, "stopped TX queue" NL);
1487 return 1; 1487 return NETDEV_TX_BUSY;
1488} 1488}
1489 1489
1490/* Tx lock BHs */ 1490/* Tx lock BHs */
diff --git a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c
index 269153eedd26..c4361d466597 100644
--- a/drivers/net/irda/au1k_ir.c
+++ b/drivers/net/irda/au1k_ir.c
@@ -512,13 +512,13 @@ static int au1k_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
512 printk(KERN_DEBUG "%s: tx_full\n", dev->name); 512 printk(KERN_DEBUG "%s: tx_full\n", dev->name);
513 netif_stop_queue(dev); 513 netif_stop_queue(dev);
514 aup->tx_full = 1; 514 aup->tx_full = 1;
515 return 1; 515 return NETDEV_TX_BUSY;
516 } 516 }
517 else if (((aup->tx_head + 1) & (NUM_IR_DESC - 1)) == aup->tx_tail) { 517 else if (((aup->tx_head + 1) & (NUM_IR_DESC - 1)) == aup->tx_tail) {
518 printk(KERN_DEBUG "%s: tx_full\n", dev->name); 518 printk(KERN_DEBUG "%s: tx_full\n", dev->name);
519 netif_stop_queue(dev); 519 netif_stop_queue(dev);
520 aup->tx_full = 1; 520 aup->tx_full = 1;
521 return 1; 521 return NETDEV_TX_BUSY;
522 } 522 }
523 523
524 pDB = aup->tx_db_inuse[aup->tx_head]; 524 pDB = aup->tx_db_inuse[aup->tx_head];
diff --git a/drivers/net/irda/sir_dev.c b/drivers/net/irda/sir_dev.c
index d940809762ec..fd0796c3db3c 100644
--- a/drivers/net/irda/sir_dev.c
+++ b/drivers/net/irda/sir_dev.c
@@ -607,7 +607,7 @@ static int sirdev_hard_xmit(struct sk_buff *skb, struct net_device *ndev)
607 * stopped so the network layer will retry after the 607 * stopped so the network layer will retry after the
608 * fsm completes and wakes the queue. 608 * fsm completes and wakes the queue.
609 */ 609 */
610 return 1; 610 return NETDEV_TX_BUSY;
611 } 611 }
612 else if (unlikely(err)) { 612 else if (unlikely(err)) {
613 /* other fatal error - forget the speed change and 613 /* other fatal error - forget the speed change and
diff --git a/drivers/net/lib8390.c b/drivers/net/lib8390.c
index 789b6cb744b2..f28c23343009 100644
--- a/drivers/net/lib8390.c
+++ b/drivers/net/lib8390.c
@@ -370,7 +370,7 @@ static int __ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
370 spin_unlock(&ei_local->page_lock); 370 spin_unlock(&ei_local->page_lock);
371 enable_irq_lockdep_irqrestore(dev->irq, &flags); 371 enable_irq_lockdep_irqrestore(dev->irq, &flags);
372 dev->stats.tx_errors++; 372 dev->stats.tx_errors++;
373 return 1; 373 return NETDEV_TX_BUSY;
374 } 374 }
375 375
376 /* 376 /*
diff --git a/drivers/net/mac89x0.c b/drivers/net/mac89x0.c
index e24175a39460..dab45339d3a8 100644
--- a/drivers/net/mac89x0.c
+++ b/drivers/net/mac89x0.c
@@ -400,7 +400,7 @@ net_send_packet(struct sk_buff *skb, struct net_device *dev)
400 /* Gasp! It hasn't. But that shouldn't happen since 400 /* Gasp! It hasn't. But that shouldn't happen since
401 we're waiting for TxOk, so return 1 and requeue this packet. */ 401 we're waiting for TxOk, so return 1 and requeue this packet. */
402 local_irq_restore(flags); 402 local_irq_restore(flags);
403 return 1; 403 return NETDEV_TX_BUSY;
404 } 404 }
405 405
406 /* Write the contents of the packet */ 406 /* Write the contents of the packet */
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 722265920da8..5b5c25368d1e 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -645,7 +645,7 @@ static int macb_start_xmit(struct sk_buff *skb, struct net_device *dev)
645 "BUG! Tx Ring full when queue awake!\n"); 645 "BUG! Tx Ring full when queue awake!\n");
646 dev_dbg(&bp->pdev->dev, "tx_head = %u, tx_tail = %u\n", 646 dev_dbg(&bp->pdev->dev, "tx_head = %u, tx_tail = %u\n",
647 bp->tx_head, bp->tx_tail); 647 bp->tx_head, bp->tx_tail);
648 return 1; 648 return NETDEV_TX_BUSY;
649 } 649 }
650 650
651 entry = bp->tx_head; 651 entry = bp->tx_head;
diff --git a/drivers/net/mace.c b/drivers/net/mace.c
index 1ad740bc8878..1427755c224d 100644
--- a/drivers/net/mace.c
+++ b/drivers/net/mace.c
@@ -547,7 +547,7 @@ static int mace_xmit_start(struct sk_buff *skb, struct net_device *dev)
547 netif_stop_queue(dev); 547 netif_stop_queue(dev);
548 mp->tx_fullup = 1; 548 mp->tx_fullup = 1;
549 spin_unlock_irqrestore(&mp->lock, flags); 549 spin_unlock_irqrestore(&mp->lock, flags);
550 return 1; /* can't take it at the moment */ 550 return NETDEV_TX_BUSY; /* can't take it at the moment */
551 } 551 }
552 spin_unlock_irqrestore(&mp->lock, flags); 552 spin_unlock_irqrestore(&mp->lock, flags);
553 553
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index c9a30d3a66fb..1f6e36ea669e 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -2687,7 +2687,7 @@ again:
2687 /* we are out of transmit resources */ 2687 /* we are out of transmit resources */
2688 tx->stop_queue++; 2688 tx->stop_queue++;
2689 netif_tx_stop_queue(netdev_queue); 2689 netif_tx_stop_queue(netdev_queue);
2690 return 1; 2690 return NETDEV_TX_BUSY;
2691 } 2691 }
2692 2692
2693 /* Setup checksum offloading, if needed */ 2693 /* Setup checksum offloading, if needed */
diff --git a/drivers/net/myri_sbus.c b/drivers/net/myri_sbus.c
index 9a802adba9a3..5f0758bda6b3 100644
--- a/drivers/net/myri_sbus.c
+++ b/drivers/net/myri_sbus.c
@@ -640,7 +640,7 @@ static int myri_start_xmit(struct sk_buff *skb, struct net_device *dev)
640 640
641 if (!TX_BUFFS_AVAIL(head, tail)) { 641 if (!TX_BUFFS_AVAIL(head, tail)) {
642 DTX(("no buffs available, returning 1\n")); 642 DTX(("no buffs available, returning 1\n"));
643 return 1; 643 return NETDEV_TX_BUSY;
644 } 644 }
645 645
646 spin_lock_irqsave(&mp->irq_lock, flags); 646 spin_lock_irqsave(&mp->irq_lock, flags);
diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c
index 6474f02bf783..1f10ed603e20 100644
--- a/drivers/net/ni65.c
+++ b/drivers/net/ni65.c
@@ -1165,7 +1165,7 @@ static int ni65_send_packet(struct sk_buff *skb, struct net_device *dev)
1165 1165
1166 if (test_and_set_bit(0, (void*)&p->lock)) { 1166 if (test_and_set_bit(0, (void*)&p->lock)) {
1167 printk(KERN_ERR "%s: Queue was locked.\n", dev->name); 1167 printk(KERN_ERR "%s: Queue was locked.\n", dev->name);
1168 return 1; 1168 return NETDEV_TX_BUSY;
1169 } 1169 }
1170 1170
1171 { 1171 {
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c
index 940962ae8f23..1576ac07216e 100644
--- a/drivers/net/ns83820.c
+++ b/drivers/net/ns83820.c
@@ -1097,7 +1097,7 @@ again:
1097 if (unlikely(dev->CFG_cache & CFG_LNKSTS)) { 1097 if (unlikely(dev->CFG_cache & CFG_LNKSTS)) {
1098 netif_stop_queue(ndev); 1098 netif_stop_queue(ndev);
1099 if (unlikely(dev->CFG_cache & CFG_LNKSTS)) 1099 if (unlikely(dev->CFG_cache & CFG_LNKSTS))
1100 return 1; 1100 return NETDEV_TX_BUSY;
1101 netif_start_queue(ndev); 1101 netif_start_queue(ndev);
1102 } 1102 }
1103 1103
@@ -1115,7 +1115,7 @@ again:
1115 netif_start_queue(ndev); 1115 netif_start_queue(ndev);
1116 goto again; 1116 goto again;
1117 } 1117 }
1118 return 1; 1118 return NETDEV_TX_BUSY;
1119 } 1119 }
1120 1120
1121 if (free_idx == dev->tx_intr_idx) { 1121 if (free_idx == dev->tx_intr_idx) {
diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c
index 15b8fe61695b..0e38d80fd255 100644
--- a/drivers/net/pcmcia/axnet_cs.c
+++ b/drivers/net/pcmcia/axnet_cs.c
@@ -1130,7 +1130,7 @@ static int axnet_start_xmit(struct sk_buff *skb, struct net_device *dev)
1130 outb_p(ENISR_ALL, e8390_base + EN0_IMR); 1130 outb_p(ENISR_ALL, e8390_base + EN0_IMR);
1131 spin_unlock_irqrestore(&ei_local->page_lock, flags); 1131 spin_unlock_irqrestore(&ei_local->page_lock, flags);
1132 dev->stats.tx_errors++; 1132 dev->stats.tx_errors++;
1133 return 1; 1133 return NETDEV_TX_BUSY;
1134 } 1134 }
1135 1135
1136 /* 1136 /*
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c
index 81e6660a433a..479d5b494371 100644
--- a/drivers/net/pcmcia/fmvj18x_cs.c
+++ b/drivers/net/pcmcia/fmvj18x_cs.c
@@ -877,7 +877,7 @@ static int fjn_start_xmit(struct sk_buff *skb, struct net_device *dev)
877 if (length > ETH_FRAME_LEN) { 877 if (length > ETH_FRAME_LEN) {
878 printk(KERN_NOTICE "%s: Attempting to send a large packet" 878 printk(KERN_NOTICE "%s: Attempting to send a large packet"
879 " (%d bytes).\n", dev->name, length); 879 " (%d bytes).\n", dev->name, length);
880 return 1; 880 return NETDEV_TX_BUSY;
881 } 881 }
882 882
883 DEBUG(4, "%s: Transmitting a packet of length %lu.\n", 883 DEBUG(4, "%s: Transmitting a packet of length %lu.\n",
diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c
index 48dbb35747d8..37e05d3ab893 100644
--- a/drivers/net/pcmcia/smc91c92_cs.c
+++ b/drivers/net/pcmcia/smc91c92_cs.c
@@ -1388,7 +1388,7 @@ static int smc_start_xmit(struct sk_buff *skb, struct net_device *dev)
1388 dev->stats.tx_aborted_errors++; 1388 dev->stats.tx_aborted_errors++;
1389 printk(KERN_DEBUG "%s: Internal error -- sent packet while busy.\n", 1389 printk(KERN_DEBUG "%s: Internal error -- sent packet while busy.\n",
1390 dev->name); 1390 dev->name);
1391 return 1; 1391 return NETDEV_TX_BUSY;
1392 } 1392 }
1393 smc->saved_skb = skb; 1393 smc->saved_skb = skb;
1394 1394
diff --git a/drivers/net/pcmcia/xirc2ps_cs.c b/drivers/net/pcmcia/xirc2ps_cs.c
index a3685c0d22fc..ef37d22c7e1d 100644
--- a/drivers/net/pcmcia/xirc2ps_cs.c
+++ b/drivers/net/pcmcia/xirc2ps_cs.c
@@ -1399,7 +1399,7 @@ do_start_xmit(struct sk_buff *skb, struct net_device *dev)
1399 DEBUG(2 + (okay ? 2 : 0), "%s: avail. tx space=%u%s\n", 1399 DEBUG(2 + (okay ? 2 : 0), "%s: avail. tx space=%u%s\n",
1400 dev->name, freespace, okay ? " (okay)":" (not enough)"); 1400 dev->name, freespace, okay ? " (okay)":" (not enough)");
1401 if (!okay) { /* not enough space */ 1401 if (!okay) { /* not enough space */
1402 return 1; /* upper layer may decide to requeue this packet */ 1402 return NETDEV_TX_BUSY; /* upper layer may decide to requeue this packet */
1403 } 1403 }
1404 /* send the packet */ 1404 /* send the packet */
1405 PutWord(XIRCREG_EDP, (u_short)pktlen); 1405 PutWord(XIRCREG_EDP, (u_short)pktlen);
diff --git a/drivers/net/plip.c b/drivers/net/plip.c
index 0be0f0b164f3..7a62f781fef2 100644
--- a/drivers/net/plip.c
+++ b/drivers/net/plip.c
@@ -955,12 +955,12 @@ plip_tx_packet(struct sk_buff *skb, struct net_device *dev)
955 struct plip_local *snd = &nl->snd_data; 955 struct plip_local *snd = &nl->snd_data;
956 956
957 if (netif_queue_stopped(dev)) 957 if (netif_queue_stopped(dev))
958 return 1; 958 return NETDEV_TX_BUSY;
959 959
960 /* We may need to grab the bus */ 960 /* We may need to grab the bus */
961 if (!nl->port_owner) { 961 if (!nl->port_owner) {
962 if (parport_claim(nl->pardev)) 962 if (parport_claim(nl->pardev))
963 return 1; 963 return NETDEV_TX_BUSY;
964 nl->port_owner = 1; 964 nl->port_owner = 1;
965 } 965 }
966 966
@@ -969,7 +969,7 @@ plip_tx_packet(struct sk_buff *skb, struct net_device *dev)
969 if (skb->len > dev->mtu + dev->hard_header_len) { 969 if (skb->len > dev->mtu + dev->hard_header_len) {
970 printk(KERN_WARNING "%s: packet too big, %d.\n", dev->name, (int)skb->len); 970 printk(KERN_WARNING "%s: packet too big, %d.\n", dev->name, (int)skb->len);
971 netif_start_queue (dev); 971 netif_start_queue (dev);
972 return 1; 972 return NETDEV_TX_BUSY;
973 } 973 }
974 974
975 if (net_debug > 2) 975 if (net_debug > 2)
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index 7a4b9fbddbaf..d8c9cf1b901d 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -2084,7 +2084,7 @@ static int sbmac_start_tx(struct sk_buff *skb, struct net_device *dev)
2084 netif_stop_queue(dev); 2084 netif_stop_queue(dev);
2085 spin_unlock_irqrestore(&sc->sbm_lock, flags); 2085 spin_unlock_irqrestore(&sc->sbm_lock, flags);
2086 2086
2087 return 1; 2087 return NETDEV_TX_BUSY;
2088 } 2088 }
2089 2089
2090 dev->trans_start = jiffies; 2090 dev->trans_start = jiffies;
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index 0709b7512467..341882f959f3 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -1108,7 +1108,7 @@ static int sh_eth_start_xmit(struct sk_buff *skb, struct net_device *ndev)
1108 if (!sh_eth_txfree(ndev)) { 1108 if (!sh_eth_txfree(ndev)) {
1109 netif_stop_queue(ndev); 1109 netif_stop_queue(ndev);
1110 spin_unlock_irqrestore(&mdp->lock, flags); 1110 spin_unlock_irqrestore(&mdp->lock, flags);
1111 return 1; 1111 return NETDEV_TX_BUSY;
1112 } 1112 }
1113 } 1113 }
1114 spin_unlock_irqrestore(&mdp->lock, flags); 1114 spin_unlock_irqrestore(&mdp->lock, flags);
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
index 2d4617b3e208..a9a897bb42d5 100644
--- a/drivers/net/sis900.c
+++ b/drivers/net/sis900.c
@@ -1584,7 +1584,7 @@ sis900_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
1584 /* Don't transmit data before the complete of auto-negotiation */ 1584 /* Don't transmit data before the complete of auto-negotiation */
1585 if(!sis_priv->autong_complete){ 1585 if(!sis_priv->autong_complete){
1586 netif_stop_queue(net_dev); 1586 netif_stop_queue(net_dev);
1587 return 1; 1587 return NETDEV_TX_BUSY;
1588 } 1588 }
1589 1589
1590 spin_lock_irqsave(&sis_priv->lock, flags); 1590 spin_lock_irqsave(&sis_priv->lock, flags);
diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c
index 19d343c42a21..088fe26484e7 100644
--- a/drivers/net/skfp/skfddi.c
+++ b/drivers/net/skfp/skfddi.c
@@ -1082,7 +1082,7 @@ static int skfp_send_pkt(struct sk_buff *skb, struct net_device *dev)
1082 if (bp->QueueSkb == 0) { // return with tbusy set: queue full 1082 if (bp->QueueSkb == 0) { // return with tbusy set: queue full
1083 1083
1084 netif_stop_queue(dev); 1084 netif_stop_queue(dev);
1085 return 1; 1085 return NETDEV_TX_BUSY;
1086 } 1086 }
1087 bp->QueueSkb--; 1087 bp->QueueSkb--;
1088 skb_queue_tail(&bp->SendSkbQueue, skb); 1088 skb_queue_tail(&bp->SendSkbQueue, skb);
diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c
index 9a7973a54116..e02471b2f2b5 100644
--- a/drivers/net/smc9194.c
+++ b/drivers/net/smc9194.c
@@ -503,7 +503,7 @@ static int smc_wait_to_send_packet( struct sk_buff * skb, struct net_device * de
503 /* THIS SHOULD NEVER HAPPEN. */ 503 /* THIS SHOULD NEVER HAPPEN. */
504 dev->stats.tx_aborted_errors++; 504 dev->stats.tx_aborted_errors++;
505 printk(CARDNAME": Bad Craziness - sent packet while busy.\n" ); 505 printk(CARDNAME": Bad Craziness - sent packet while busy.\n" );
506 return 1; 506 return NETDEV_TX_BUSY;
507 } 507 }
508 lp->saved_skb = skb; 508 lp->saved_skb = skb;
509 509
diff --git a/drivers/net/sonic.c b/drivers/net/sonic.c
index 211e805c1223..e4255d829380 100644
--- a/drivers/net/sonic.c
+++ b/drivers/net/sonic.c
@@ -223,7 +223,7 @@ static int sonic_send_packet(struct sk_buff *skb, struct net_device *dev)
223 if (!laddr) { 223 if (!laddr) {
224 printk(KERN_ERR "%s: failed to map tx DMA buffer.\n", dev->name); 224 printk(KERN_ERR "%s: failed to map tx DMA buffer.\n", dev->name);
225 dev_kfree_skb(skb); 225 dev_kfree_skb(skb);
226 return 1; 226 return NETDEV_TX_BUSY
227 } 227 }
228 228
229 sonic_tda_put(dev, entry, SONIC_TD_STATUS, 0); /* clear status */ 229 sonic_tda_put(dev, entry, SONIC_TD_STATUS, 0); /* clear status */
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c
index fcb943fca4f1..838cce8b8fff 100644
--- a/drivers/net/starfire.c
+++ b/drivers/net/starfire.c
@@ -1236,7 +1236,7 @@ static int start_tx(struct sk_buff *skb, struct net_device *dev)
1236 */ 1236 */
1237 if ((np->cur_tx - np->dirty_tx) + skb_num_frags(skb) * 2 > TX_RING_SIZE) { 1237 if ((np->cur_tx - np->dirty_tx) + skb_num_frags(skb) * 2 > TX_RING_SIZE) {
1238 netif_stop_queue(dev); 1238 netif_stop_queue(dev);
1239 return 1; 1239 return NETDEV_TX_BUSY;
1240 } 1240 }
1241 1241
1242#if defined(ZEROCOPY) && defined(HAS_BROKEN_FIRMWARE) 1242#if defined(ZEROCOPY) && defined(HAS_BROKEN_FIRMWARE)
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c
index a39c0b9ba8b6..7bb27426dbd6 100644
--- a/drivers/net/sun3_82586.c
+++ b/drivers/net/sun3_82586.c
@@ -1023,7 +1023,7 @@ static int sun3_82586_send_packet(struct sk_buff *skb, struct net_device *dev)
1023#if(NUM_XMIT_BUFFS > 1) 1023#if(NUM_XMIT_BUFFS > 1)
1024 if(test_and_set_bit(0,(void *) &p->lock)) { 1024 if(test_and_set_bit(0,(void *) &p->lock)) {
1025 printk("%s: Queue was locked\n",dev->name); 1025 printk("%s: Queue was locked\n",dev->name);
1026 return 1; 1026 return NETDEV_TX_BUSY;
1027 } 1027 }
1028 else 1028 else
1029#endif 1029#endif
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c
index 9bd9dadb8534..534dfe3eef6f 100644
--- a/drivers/net/sun3lance.c
+++ b/drivers/net/sun3lance.c
@@ -526,7 +526,7 @@ static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev )
526 if (netif_queue_stopped(dev)) { 526 if (netif_queue_stopped(dev)) {
527 int tickssofar = jiffies - dev->trans_start; 527 int tickssofar = jiffies - dev->trans_start;
528 if (tickssofar < 20) 528 if (tickssofar < 20)
529 return( 1 ); 529 return NETDEV_TX_BUSY;
530 530
531 DPRINTK( 1, ( "%s: transmit timed out, status %04x, resetting.\n", 531 DPRINTK( 1, ( "%s: transmit timed out, status %04x, resetting.\n",
532 dev->name, DREG )); 532 dev->name, DREG ));
@@ -577,7 +577,7 @@ static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev )
577 if (test_and_set_bit( 0, (void*)&lp->lock ) != 0) { 577 if (test_and_set_bit( 0, (void*)&lp->lock ) != 0) {
578 printk( "%s: tx queue lock!.\n", dev->name); 578 printk( "%s: tx queue lock!.\n", dev->name);
579 /* don't clear dev->tbusy flag. */ 579 /* don't clear dev->tbusy flag. */
580 return 1; 580 return NETDEV_TX_BUSY;
581 } 581 }
582 582
583 AREG = CSR0; 583 AREG = CSR0;
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index 4e9bd380a5c2..4ef729198e10 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -2275,7 +2275,7 @@ static int happy_meal_start_xmit(struct sk_buff *skb, struct net_device *dev)
2275 spin_unlock_irq(&hp->happy_lock); 2275 spin_unlock_irq(&hp->happy_lock);
2276 printk(KERN_ERR "%s: BUG! Tx Ring full when queue awake!\n", 2276 printk(KERN_ERR "%s: BUG! Tx Ring full when queue awake!\n",
2277 dev->name); 2277 dev->name);
2278 return 1; 2278 return NETDEV_TX_BUSY;
2279 } 2279 }
2280 2280
2281 entry = hp->tx_new; 2281 entry = hp->tx_new;
diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c
index aa6964922d5e..384cb5e28397 100644
--- a/drivers/net/tlan.c
+++ b/drivers/net/tlan.c
@@ -1111,7 +1111,7 @@ static int TLan_StartTx( struct sk_buff *skb, struct net_device *dev )
1111 dev->name, priv->txHead, priv->txTail ); 1111 dev->name, priv->txHead, priv->txTail );
1112 netif_stop_queue(dev); 1112 netif_stop_queue(dev);
1113 priv->txBusyCount++; 1113 priv->txBusyCount++;
1114 return 1; 1114 return NETDEV_TX_BUSY;
1115 } 1115 }
1116 1116
1117 tail_list->forward = 0; 1117 tail_list->forward = 0;
diff --git a/drivers/net/tokenring/3c359.c b/drivers/net/tokenring/3c359.c
index 534c0f38483c..13dbc59bfe42 100644
--- a/drivers/net/tokenring/3c359.c
+++ b/drivers/net/tokenring/3c359.c
@@ -1243,7 +1243,7 @@ static int xl_xmit(struct sk_buff *skb, struct net_device *dev)
1243 return 0; 1243 return 0;
1244 } else { 1244 } else {
1245 spin_unlock_irqrestore(&xl_priv->xl_lock,flags) ; 1245 spin_unlock_irqrestore(&xl_priv->xl_lock,flags) ;
1246 return 1; 1246 return NETDEV_TX_BUSY;
1247 } 1247 }
1248 1248
1249} 1249}
diff --git a/drivers/net/tokenring/lanstreamer.c b/drivers/net/tokenring/lanstreamer.c
index 2e70ee8f1459..b358bbbce33a 100644
--- a/drivers/net/tokenring/lanstreamer.c
+++ b/drivers/net/tokenring/lanstreamer.c
@@ -1187,7 +1187,7 @@ static int streamer_xmit(struct sk_buff *skb, struct net_device *dev)
1187 } else { 1187 } else {
1188 netif_stop_queue(dev); 1188 netif_stop_queue(dev);
1189 spin_unlock_irqrestore(&streamer_priv->streamer_lock,flags); 1189 spin_unlock_irqrestore(&streamer_priv->streamer_lock,flags);
1190 return 1; 1190 return NETDEV_TX_BUSY;
1191 } 1191 }
1192} 1192}
1193 1193
diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c
index d068a9d36883..c36974925c15 100644
--- a/drivers/net/tokenring/olympic.c
+++ b/drivers/net/tokenring/olympic.c
@@ -1055,7 +1055,7 @@ static int olympic_xmit(struct sk_buff *skb, struct net_device *dev)
1055 return 0; 1055 return 0;
1056 } else { 1056 } else {
1057 spin_unlock_irqrestore(&olympic_priv->olympic_lock,flags); 1057 spin_unlock_irqrestore(&olympic_priv->olympic_lock,flags);
1058 return 1; 1058 return NETDEV_TX_BUSY;
1059 } 1059 }
1060 1060
1061} 1061}
diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c
index a91d9c55d78e..54ad4ed03374 100644
--- a/drivers/net/tokenring/smctr.c
+++ b/drivers/net/tokenring/smctr.c
@@ -4601,7 +4601,7 @@ static int smctr_send_packet(struct sk_buff *skb, struct net_device *dev)
4601 netif_stop_queue(dev); 4601 netif_stop_queue(dev);
4602 4602
4603 if(tp->QueueSkb == 0) 4603 if(tp->QueueSkb == 0)
4604 return (1); /* Return with tbusy set: queue full */ 4604 return NETDEV_TX_BUSY; /* Return with tbusy set: queue full */
4605 4605
4606 tp->QueueSkb--; 4606 tp->QueueSkb--;
4607 skb_queue_tail(&tp->SendSkbQueue, skb); 4607 skb_queue_tail(&tp->SendSkbQueue, skb);
diff --git a/drivers/net/tokenring/tms380tr.c b/drivers/net/tokenring/tms380tr.c
index b11bb72dc7ab..a2eab72b507a 100644
--- a/drivers/net/tokenring/tms380tr.c
+++ b/drivers/net/tokenring/tms380tr.c
@@ -633,7 +633,7 @@ static int tms380tr_hardware_send_packet(struct sk_buff *skb, struct net_device
633 if (tms380tr_debug > 0) 633 if (tms380tr_debug > 0)
634 printk(KERN_DEBUG "%s: No free TPL\n", dev->name); 634 printk(KERN_DEBUG "%s: No free TPL\n", dev->name);
635 spin_unlock_irqrestore(&tp->lock, flags); 635 spin_unlock_irqrestore(&tp->lock, flags);
636 return 1; 636 return NETDEV_TX_BUSY;
637 } 637 }
638 638
639 dmabuf = 0; 639 dmabuf = 0;
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c
index e7609a05032d..81f054dbb88d 100644
--- a/drivers/net/tulip/de2104x.c
+++ b/drivers/net/tulip/de2104x.c
@@ -612,7 +612,7 @@ static int de_start_xmit (struct sk_buff *skb, struct net_device *dev)
612 if (tx_free == 0) { 612 if (tx_free == 0) {
613 netif_stop_queue(dev); 613 netif_stop_queue(dev);
614 spin_unlock_irq(&de->lock); 614 spin_unlock_irq(&de->lock);
615 return 1; 615 return NETDEV_TX_BUSY;
616 } 616 }
617 tx_free--; 617 tx_free--;
618 618
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
index 32256179a205..eb72d2e9ab3d 100644
--- a/drivers/net/tulip/de4x5.c
+++ b/drivers/net/tulip/de4x5.c
@@ -1461,12 +1461,12 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
1461{ 1461{
1462 struct de4x5_private *lp = netdev_priv(dev); 1462 struct de4x5_private *lp = netdev_priv(dev);
1463 u_long iobase = dev->base_addr; 1463 u_long iobase = dev->base_addr;
1464 int status = 0; 1464 int status = NETDEV_TX_OK;
1465 u_long flags = 0; 1465 u_long flags = 0;
1466 1466
1467 netif_stop_queue(dev); 1467 netif_stop_queue(dev);
1468 if (!lp->tx_enable) { /* Cannot send for now */ 1468 if (!lp->tx_enable) { /* Cannot send for now */
1469 return -1; 1469 return NETDEV_TX_LOCKED;
1470 } 1470 }
1471 1471
1472 /* 1472 /*
@@ -1480,7 +1480,7 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
1480 1480
1481 /* Test if cache is already locked - requeue skb if so */ 1481 /* Test if cache is already locked - requeue skb if so */
1482 if (test_and_set_bit(0, (void *)&lp->cache.lock) && !lp->interrupt) 1482 if (test_and_set_bit(0, (void *)&lp->cache.lock) && !lp->interrupt)
1483 return -1; 1483 return NETDEV_TX_LOCKED;
1484 1484
1485 /* Transmit descriptor ring full or stale skb */ 1485 /* Transmit descriptor ring full or stale skb */
1486 if (netif_queue_stopped(dev) || (u_long) lp->tx_skb[lp->tx_new] > 1) { 1486 if (netif_queue_stopped(dev) || (u_long) lp->tx_skb[lp->tx_new] > 1) {
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index f2e669974c78..8e78f003f08f 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -686,7 +686,7 @@ static int dmfe_start_xmit(struct sk_buff *skb, struct DEVICE *dev)
686 spin_unlock_irqrestore(&db->lock, flags); 686 spin_unlock_irqrestore(&db->lock, flags);
687 printk(KERN_ERR DRV_NAME ": No Tx resource %ld\n", 687 printk(KERN_ERR DRV_NAME ": No Tx resource %ld\n",
688 db->tx_queue_cnt); 688 db->tx_queue_cnt);
689 return 1; 689 return NETDEV_TX_BUSY;
690 } 690 }
691 691
692 /* Disable NIC interrupt */ 692 /* Disable NIC interrupt */
diff --git a/drivers/net/tulip/uli526x.c b/drivers/net/tulip/uli526x.c
index 8761a5a5bd79..9277ce8febe4 100644
--- a/drivers/net/tulip/uli526x.c
+++ b/drivers/net/tulip/uli526x.c
@@ -591,7 +591,7 @@ static int uli526x_start_xmit(struct sk_buff *skb, struct net_device *dev)
591 if (db->tx_packet_cnt >= TX_FREE_DESC_CNT) { 591 if (db->tx_packet_cnt >= TX_FREE_DESC_CNT) {
592 spin_unlock_irqrestore(&db->lock, flags); 592 spin_unlock_irqrestore(&db->lock, flags);
593 printk(KERN_ERR DRV_NAME ": No Tx resource %ld\n", db->tx_packet_cnt); 593 printk(KERN_ERR DRV_NAME ": No Tx resource %ld\n", db->tx_packet_cnt);
594 return 1; 594 return NETDEV_TX_BUSY;
595 } 595 }
596 596
597 /* Disable NIC interrupt */ 597 /* Disable NIC interrupt */
diff --git a/drivers/net/wan/dlci.c b/drivers/net/wan/dlci.c
index e8d155c3e59f..2fa275a58f9d 100644
--- a/drivers/net/wan/dlci.c
+++ b/drivers/net/wan/dlci.c
@@ -205,15 +205,15 @@ static int dlci_transmit(struct sk_buff *skb, struct net_device *dev)
205 { 205 {
206 case DLCI_RET_OK: 206 case DLCI_RET_OK:
207 dev->stats.tx_packets++; 207 dev->stats.tx_packets++;
208 ret = 0; 208 ret = NETDEV_TX_OK;
209 break; 209 break;
210 case DLCI_RET_ERR: 210 case DLCI_RET_ERR:
211 dev->stats.tx_errors++; 211 dev->stats.tx_errors++;
212 ret = 0; 212 ret = NETDEV_TX_OK;
213 break; 213 break;
214 case DLCI_RET_DROP: 214 case DLCI_RET_DROP:
215 dev->stats.tx_dropped++; 215 dev->stats.tx_dropped++;
216 ret = 1; 216 ret = NETDEV_TX_BUSY;
217 break; 217 break;
218 } 218 }
219 /* Alan Cox recommends always returning 0, and always freeing the packet */ 219 /* Alan Cox recommends always returning 0, and always freeing the packet */
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
index f4211fe0f445..3fb9dbc88a1a 100644
--- a/drivers/net/wan/sbni.c
+++ b/drivers/net/wan/sbni.c
@@ -469,7 +469,7 @@ sbni_start_xmit( struct sk_buff *skb, struct net_device *dev )
469 } 469 }
470 } 470 }
471 471
472 return 1; 472 return NETDEV_TX_BUSY;
473} 473}
474 474
475#else /* CONFIG_SBNI_MULTILINE */ 475#else /* CONFIG_SBNI_MULTILINE */
diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c
index 8130b79a8a99..e4ad7b6b52eb 100644
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -283,7 +283,7 @@ static int wanxl_xmit(struct sk_buff *skb, struct net_device *dev)
283#endif 283#endif
284 netif_stop_queue(dev); 284 netif_stop_queue(dev);
285 spin_unlock_irq(&port->lock); 285 spin_unlock_irq(&port->lock);
286 return 1; /* request packet to be queued */ 286 return NETDEV_TX_BUSY; /* request packet to be queued */
287 } 287 }
288 288
289#ifdef DEBUG_PKT 289#ifdef DEBUG_PKT
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index dfb30b9c4267..c70604f0329e 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -1935,7 +1935,7 @@ static int mpi_start_xmit(struct sk_buff *skb, struct net_device *dev) {
1935 netif_stop_queue (dev); 1935 netif_stop_queue (dev);
1936 if (npacks > MAXTXQ) { 1936 if (npacks > MAXTXQ) {
1937 dev->stats.tx_fifo_errors++; 1937 dev->stats.tx_fifo_errors++;
1938 return 1; 1938 return NETDEV_TX_BUSY;
1939 } 1939 }
1940 skb_queue_tail (&ai->txq, skb); 1940 skb_queue_tail (&ai->txq, skb);
1941 return 0; 1941 return 0;
@@ -2139,7 +2139,7 @@ static int airo_start_xmit(struct sk_buff *skb, struct net_device *dev) {
2139 2139
2140 if (i == MAX_FIDS / 2) { 2140 if (i == MAX_FIDS / 2) {
2141 dev->stats.tx_fifo_errors++; 2141 dev->stats.tx_fifo_errors++;
2142 return 1; 2142 return NETDEV_TX_BUSY;
2143 } 2143 }
2144 } 2144 }
2145 /* check min length*/ 2145 /* check min length*/
@@ -2211,7 +2211,7 @@ static int airo_start_xmit11(struct sk_buff *skb, struct net_device *dev) {
2211 2211
2212 if (i == MAX_FIDS) { 2212 if (i == MAX_FIDS) {
2213 dev->stats.tx_fifo_errors++; 2213 dev->stats.tx_fifo_errors++;
2214 return 1; 2214 return NETDEV_TX_BUSY;
2215 } 2215 }
2216 } 2216 }
2217 /* check min length*/ 2217 /* check min length*/
diff --git a/drivers/net/wireless/arlan-main.c b/drivers/net/wireless/arlan-main.c
index a54a67c425c8..d84caf198a23 100644
--- a/drivers/net/wireless/arlan-main.c
+++ b/drivers/net/wireless/arlan-main.c
@@ -1199,7 +1199,7 @@ bad_end:
1199 arlan_process_interrupt(dev); 1199 arlan_process_interrupt(dev);
1200 netif_stop_queue (dev); 1200 netif_stop_queue (dev);
1201 ARLAN_DEBUG_EXIT("arlan_tx"); 1201 ARLAN_DEBUG_EXIT("arlan_tx");
1202 return 1; 1202 return NETDEV_TX_BUSY;
1203} 1203}
1204 1204
1205 1205
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
index 27eef8fb7107..291a94bd46fd 100644
--- a/drivers/net/wireless/atmel.c
+++ b/drivers/net/wireless/atmel.c
@@ -818,7 +818,7 @@ static int start_tx(struct sk_buff *skb, struct net_device *dev)
818 spin_unlock_irqrestore(&priv->irqlock, flags); 818 spin_unlock_irqrestore(&priv->irqlock, flags);
819 spin_unlock_bh(&priv->timerlock); 819 spin_unlock_bh(&priv->timerlock);
820 netif_stop_queue(dev); 820 netif_stop_queue(dev);
821 return 1; 821 return NETDEV_TX_BUSY;
822 } 822 }
823 823
824 frame_ctl = IEEE80211_FTYPE_DATA; 824 frame_ctl = IEEE80211_FTYPE_DATA;
diff --git a/drivers/net/wireless/hostap/hostap_80211_tx.c b/drivers/net/wireless/hostap/hostap_80211_tx.c
index 6693423f63fe..d313b005114e 100644
--- a/drivers/net/wireless/hostap/hostap_80211_tx.c
+++ b/drivers/net/wireless/hostap/hostap_80211_tx.c
@@ -377,7 +377,7 @@ int hostap_master_start_xmit(struct sk_buff *skb, struct net_device *dev)
377{ 377{
378 struct hostap_interface *iface; 378 struct hostap_interface *iface;
379 local_info_t *local; 379 local_info_t *local;
380 int ret = 1; 380 int ret = NETDEV_TX_BUSY;
381 u16 fc; 381 u16 fc;
382 struct hostap_tx_data tx; 382 struct hostap_tx_data tx;
383 ap_tx_ret tx_ret; 383 ap_tx_ret tx_ret;
diff --git a/drivers/net/wireless/ipw2x00/libipw_tx.c b/drivers/net/wireless/ipw2x00/libipw_tx.c
index 65a8195b3d90..da2ad5437ce5 100644
--- a/drivers/net/wireless/ipw2x00/libipw_tx.c
+++ b/drivers/net/wireless/ipw2x00/libipw_tx.c
@@ -539,7 +539,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
539 spin_unlock_irqrestore(&ieee->lock, flags); 539 spin_unlock_irqrestore(&ieee->lock, flags);
540 netif_stop_queue(dev); 540 netif_stop_queue(dev);
541 dev->stats.tx_errors++; 541 dev->stats.tx_errors++;
542 return 1; 542 return NETDEV_TX_BUSY;
543} 543}
544EXPORT_SYMBOL(ieee80211_xmit); 544EXPORT_SYMBOL(ieee80211_xmit);
545 545
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
index 22e71856aa24..b10b0383dfa5 100644
--- a/drivers/net/wireless/ray_cs.c
+++ b/drivers/net/wireless/ray_cs.c
@@ -923,7 +923,7 @@ static int ray_dev_start_xmit(struct sk_buff *skb, struct net_device *dev)
923 923
924 if (!(pcmcia_dev_present(link))) { 924 if (!(pcmcia_dev_present(link))) {
925 DEBUG(2, "ray_dev_start_xmit - device not present\n"); 925 DEBUG(2, "ray_dev_start_xmit - device not present\n");
926 return -1; 926 return NETDEV_TX_LOCKED;
927 } 927 }
928 DEBUG(3, "ray_dev_start_xmit(skb=%p, dev=%p)\n", skb, dev); 928 DEBUG(3, "ray_dev_start_xmit(skb=%p, dev=%p)\n", skb, dev);
929 if (local->authentication_state == NEED_TO_AUTH) { 929 if (local->authentication_state == NEED_TO_AUTH) {
@@ -931,7 +931,7 @@ static int ray_dev_start_xmit(struct sk_buff *skb, struct net_device *dev)
931 if (!build_auth_frame(local, local->auth_id, OPEN_AUTH_REQUEST)) { 931 if (!build_auth_frame(local, local->auth_id, OPEN_AUTH_REQUEST)) {
932 local->authentication_state = AUTHENTICATED; 932 local->authentication_state = AUTHENTICATED;
933 netif_stop_queue(dev); 933 netif_stop_queue(dev);
934 return 1; 934 return NETDEV_TX_BUSY;
935 } 935 }
936 } 936 }
937 937
@@ -944,7 +944,7 @@ static int ray_dev_start_xmit(struct sk_buff *skb, struct net_device *dev)
944 case XMIT_NO_CCS: 944 case XMIT_NO_CCS:
945 case XMIT_NEED_AUTH: 945 case XMIT_NEED_AUTH:
946 netif_stop_queue(dev); 946 netif_stop_queue(dev);
947 return 1; 947 return NETDEV_TX_BUSY;
948 case XMIT_NO_INTR: 948 case XMIT_NO_INTR:
949 case XMIT_MSG_BAD: 949 case XMIT_MSG_BAD:
950 case XMIT_OK: 950 case XMIT_OK:
diff --git a/drivers/net/wireless/strip.c b/drivers/net/wireless/strip.c
index b7b0c46adb46..38366a56b71f 100644
--- a/drivers/net/wireless/strip.c
+++ b/drivers/net/wireless/strip.c
@@ -1540,7 +1540,7 @@ static int strip_xmit(struct sk_buff *skb, struct net_device *dev)
1540 if (!netif_running(dev)) { 1540 if (!netif_running(dev)) {
1541 printk(KERN_ERR "%s: xmit call when iface is down\n", 1541 printk(KERN_ERR "%s: xmit call when iface is down\n",
1542 dev->name); 1542 dev->name);
1543 return (1); 1543 return NETDEV_TX_BUSY;
1544 } 1544 }
1545 1545
1546 netif_stop_queue(dev); 1546 netif_stop_queue(dev);
diff --git a/drivers/net/wireless/wavelan.c b/drivers/net/wireless/wavelan.c
index 25d27b64f528..ab7fc5c0c8b4 100644
--- a/drivers/net/wireless/wavelan.c
+++ b/drivers/net/wireless/wavelan.c
@@ -2867,7 +2867,7 @@ static int wavelan_packet_xmit(struct sk_buff *skb, struct net_device * dev)
2867 spin_unlock_irqrestore(&lp->spinlock, flags); 2867 spin_unlock_irqrestore(&lp->spinlock, flags);
2868 /* Check that we can continue */ 2868 /* Check that we can continue */
2869 if (lp->tx_n_in_use == (NTXBLOCKS - 1)) 2869 if (lp->tx_n_in_use == (NTXBLOCKS - 1))
2870 return 1; 2870 return NETDEV_TX_BUSY;
2871 } 2871 }
2872 2872
2873 /* Do we need some padding? */ 2873 /* Do we need some padding? */
@@ -2880,10 +2880,10 @@ static int wavelan_packet_xmit(struct sk_buff *skb, struct net_device * dev)
2880 skb_copy_from_linear_data(skb, data, skb->len); 2880 skb_copy_from_linear_data(skb, data, skb->len);
2881 /* Write packet on the card */ 2881 /* Write packet on the card */
2882 if(wv_packet_write(dev, data, ETH_ZLEN)) 2882 if(wv_packet_write(dev, data, ETH_ZLEN))
2883 return 1; /* We failed */ 2883 return NETDEV_TX_BUSY; /* We failed */
2884 } 2884 }
2885 else if(wv_packet_write(dev, skb->data, skb->len)) 2885 else if(wv_packet_write(dev, skb->data, skb->len))
2886 return 1; /* We failed */ 2886 return NETDEV_TX_BUSY; /* We failed */
2887 2887
2888 2888
2889 dev_kfree_skb(skb); 2889 dev_kfree_skb(skb);