Convert magic values 1 and -1 to NETDEV_TX_BUSY and NETDEV_TX_LOCKED respectively.
0 (NETDEV_TX_OK) is not changed to keep the noise down, except in very few cases
where its in direct proximity to one of the other values.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
        lp = isdn_net_get_locked_lp(nd);
        if (!lp) {
                printk(KERN_WARNING "%s: all channels busy - requeuing!\n", ndev->name);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        /* we have our lp locked from now on */
 
                                        spin_unlock_irqrestore(&dev->lock, flags);
                                        isdn_net_dial();        /* Initiate dialing */
                                        netif_stop_queue(ndev);
-                                       return 1;       /* let upper layer requeue skb packet */
+                                       return NETDEV_TX_BUSY;  /* let upper layer requeue skb packet */
                                }
 #endif
                                /* Initiate dialing */
                                spin_unlock_irqrestore(&dev->lock, flags);
                                isdn_net_dial();
                                isdn_net_device_stop_queue(lp);
-                               return 1;
+                               return NETDEV_TX_BUSY;
                        } else {
                                isdn_net_unreachable(ndev, skb,
                                                     "No phone number");
 
 
                printk (KERN_ERR "%s: no tx context available: %u\n",
                        __func__, priv->mpt_txfidx_tail);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        mf = mpt_get_msg_frame(LanCtx, mpt_dev);
 
                printk (KERN_ERR "%s: Unable to alloc request frame\n",
                        __func__);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        ctx = priv->mpt_txfidx[priv->mpt_txfidx_tail--];
 
                        pr_debug("%s: failed to transmit packet\n", dev->name);
                }
                spin_unlock_irqrestore(&adapter->lock, flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        if (elp_debug >= 3)
                pr_debug("%s: packet of length %d sent\n", dev->name, (int) skb->len);
 
                int i;
 
                if (vp->tx_full)        /* No room to transmit with */
-                       return 1;
+                       return NETDEV_TX_BUSY;
                if (vp->cur_tx != 0)
                        prev_entry = &vp->tx_ring[(vp->cur_tx - 1) % TX_RING_SIZE];
                else
 
        netif_stop_queue(dev);
 
        if(atomic_read(&lp->tx_count)==0) {
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        if (skb_padto(skb, ETH_ZLEN)) {
 
                        pr_warning("%s: BUG! Tx Ring full, refusing to send buffer.\n",
                                   dev->name);
                netif_stop_queue(dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        vp->tx_skbuff[entry] = skb;
 
        unsigned long flags;
 
         if (!TX_BUFFS_AVAIL)
-                return -1;
+                return NETDEV_TX_LOCKED;
 
        netif_stop_queue (dev);
 
 
                spin_unlock_irqrestore(&cp->lock, intr_flags);
                pr_err(PFX "%s: BUG! Tx Ring full when queue awake!\n",
                       dev->name);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
 #if CP_VLAN_TAG_USED
 
 
        if (!TX_BUFFS_AVAIL){
                local_irq_restore(flags);
-               return -1;
+               return NETDEV_TX_LOCKED;
        }
 
 #ifdef DEBUG_DRIVER
 
                dev->trans_start = jiffies;
        } else {
                printk(KERN_ERR "at91_ether.c: at91ether_start_xmit() called, but device is busy!\n");
-               return 1;       /* if we return anything but zero, dev.c:1055 calls kfree_skb(skb)
+               return NETDEV_TX_BUSY;  /* if we return anything but zero, dev.c:1055 calls kfree_skb(skb)
                                on this skb, he also reports -ENETDOWN and printk's, so either
                                we free and return(0) or don't free and return 1 */
        }
 
 
        if (priv(dev)->tx_tail == next_ptr) {
                local_irq_restore(flags);
-               return 1;       /* unable to queue */
+               return NETDEV_TX_BUSY;  /* unable to queue */
        }
 
        dev->trans_start = jiffies;
 
                /* We've wrapped around and the transmitter is still busy */
                netif_stop_queue(dev);
                aup->tx_full = 1;
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        else if (buff_stat & TX_T_DONE) {
                update_tx_stats(dev, ptxd->status);
 
         *      individual queues.
         */
        if (cas_xmit_tx_ringN(cp, ring++ & N_TX_RINGS_MASK, skb))
-               return 1;
+               return NETDEV_TX_BUSY;
        dev->trans_start = jiffies;
        return 0;
 }
 
 
                spin_unlock_irq(&lp->lock);
                if (net_debug) printk("cs89x0: Tx buffer not free!\n");
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        /* Write the contents of the packet */
        writewords(dev->base_addr, TX_FRAME_PORT,skb->data,(skb->len+1) >>1);
 
        if (free_tx_pages <= 0) {       /* Do timeouts, to avoid hangs. */
                tickssofar = jiffies - dev->trans_start;
                if (tickssofar < 5)
-                       return 1;
+                       return NETDEV_TX_BUSY;
                /* else */
                printk(KERN_WARNING "%s: transmit timed out (%d), %s?\n", dev->name, tickssofar, "network cable problem");
                /* Restart the adapter. */
                spin_lock_irqsave(&de600_lock, flags);
                if (adapter_init(dev)) {
                        spin_unlock_irqrestore(&de600_lock, flags);
-                       return 1;
+                       return NETDEV_TX_BUSY;
                }
                spin_unlock_irqrestore(&de600_lock, flags);
        }
                if (was_down || (de600_read_byte(READ_DATA, dev) != 0xde)) {
                        if (adapter_init(dev)) {
                                spin_unlock_irqrestore(&de600_lock, flags);
-                               return 1;
+                               return NETDEV_TX_BUSY;
                        }
                }
        }
 
        case (TXBF0 | TXBF1): /* NONE!!! */
                printk(KERN_WARNING "%s: No tx-buffer available!\n", dev->name);
                spin_unlock_irqrestore(&de620_lock, flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        de620_write_block(dev, buffer, skb->len, len-skb->len);
 
 
        {
                skb_pull(skb,3);
                spin_unlock_irqrestore(&bp->lock, flags);
-               return(1);                      /* requeue packet for later */
+               return NETDEV_TX_BUSY;  /* requeue packet for later */
        }
 
        /*
 
                if (TX_BUFFS_AVAIL)
                        netif_start_queue(dev);
        } else
-               status = -1;
+               status = NETDEV_TX_LOCKED;
 
       out:
        return status;
 
                lp->tx_new = (++end) & lp->txRingMask;  /* update current pointers */
        } else {
-               status = -1;
+               status = NETDEV_TX_LOCKED;
        }
 
        return status;
 
        dm9000_dbg(db, 3, "%s:\n", __func__);
 
        if (db->tx_pkt_cnt > 1)
-               return 1;
+               return NETDEV_TX_BUSY;
 
        spin_lock_irqsave(&db->lock, flags);
 
 
                /* This is a hard error - log it. */
                DPRINTK(TX_ERR, DEBUG, "Out of Tx resources, returning skb\n");
                netif_stop_queue(netdev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        netdev->trans_start = jiffies;
 
 err_out:
        ENABLE_IRQs;
        spin_unlock_irq (&lp->hw_lock);
-       return 1;
+       return NETDEV_TX_BUSY;
 }
 
 /*
 
 
        if (!fep->link) {
                /* Link is down or autonegotiation is in progress. */
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        spin_lock_irqsave(&fep->hw_lock, flags);
                 */
                printk("%s: tx queue full!.\n", dev->name);
                spin_unlock_irqrestore(&fep->hw_lock, flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        /* Clear all of the status flags */
 
                status=readw(hmp->base + TxStatus);
                if( !(status & 0x0001) || (status & 0x0002))
                        writew(0x0001, hmp->base + TxCmd);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        /* Caution: the write order is important here, set the field
 
                return 0;
        }
        if (bc->skb)
-               return -1;
+               return NETDEV_TX_LOCKED;
        /* strip KISS byte */
        if (skb->len >= HDLCDRV_MAXFLEN+1 || skb->len < 3) {
                dev_kfree_skb(skb);
 
                return 0;
        }
        if (sm->skb)
-               return -1;
+               return NETDEV_TX_LOCKED;
        netif_stop_queue(dev);
        sm->skb = skb;
        return 0;
 
 
        if (!netif_running(dev))  {
                printk(KERN_ERR "mkiss: %s: xmit call when iface is down\n", dev->name);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        if (netif_queue_stopped(dev)) {
                 */
                if (time_before(jiffies, dev->trans_start + 20 * HZ)) {
                        /* 20 sec timeout not reached */
-                       return 1;
+                       return NETDEV_TX_BUSY;
                }
 
                printk(KERN_ERR "mkiss: %s: transmit timed out, %s?\n", dev->name,
 
  stop_queue:
        netif_stop_queue(ndev);
        DBG2(dev, "stopped TX queue" NL);
-       return 1;
+       return NETDEV_TX_BUSY;
 }
 
 /* Tx lock BHs */
 
                printk(KERN_DEBUG "%s: tx_full\n", dev->name);
                netif_stop_queue(dev);
                aup->tx_full = 1;
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        else if (((aup->tx_head + 1) & (NUM_IR_DESC - 1)) == aup->tx_tail) {
                printk(KERN_DEBUG "%s: tx_full\n", dev->name);
                netif_stop_queue(dev);
                aup->tx_full = 1;
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        pDB = aup->tx_db_inuse[aup->tx_head];
 
                                 * stopped so the network layer will retry after the
                                 * fsm completes and wakes the queue.
                                 */
-                                return 1;
+                                return NETDEV_TX_BUSY;
                        }
                        else if (unlikely(err)) {
                                /* other fatal error - forget the speed change and
 
                spin_unlock(&ei_local->page_lock);
                enable_irq_lockdep_irqrestore(dev->irq, &flags);
                dev->stats.tx_errors++;
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        /*
 
                /* Gasp!  It hasn't.  But that shouldn't happen since
                   we're waiting for TxOk, so return 1 and requeue this packet. */
                local_irq_restore(flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        /* Write the contents of the packet */
 
                        "BUG! Tx Ring full when queue awake!\n");
                dev_dbg(&bp->pdev->dev, "tx_head = %u, tx_tail = %u\n",
                        bp->tx_head, bp->tx_tail);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        entry = bp->tx_head;
 
        netif_stop_queue(dev);
        mp->tx_fullup = 1;
        spin_unlock_irqrestore(&mp->lock, flags);
-       return 1;               /* can't take it at the moment */
+       return NETDEV_TX_BUSY;          /* can't take it at the moment */
     }
     spin_unlock_irqrestore(&mp->lock, flags);
 
 
                /* we are out of transmit resources */
                tx->stop_queue++;
                netif_tx_stop_queue(netdev_queue);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        /* Setup checksum offloading, if needed */
 
 
        if (!TX_BUFFS_AVAIL(head, tail)) {
                DTX(("no buffs available, returning 1\n"));
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        spin_lock_irqsave(&mp->irq_lock, flags);
 
 
        if (test_and_set_bit(0, (void*)&p->lock)) {
                printk(KERN_ERR "%s: Queue was locked.\n", dev->name);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        {
 
        if (unlikely(dev->CFG_cache & CFG_LNKSTS)) {
                netif_stop_queue(ndev);
                if (unlikely(dev->CFG_cache & CFG_LNKSTS))
-                       return 1;
+                       return NETDEV_TX_BUSY;
                netif_start_queue(ndev);
        }
 
                        netif_start_queue(ndev);
                        goto again;
                }
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        if (free_idx == dev->tx_intr_idx) {
 
                outb_p(ENISR_ALL, e8390_base + EN0_IMR);
                spin_unlock_irqrestore(&ei_local->page_lock, flags);
                dev->stats.tx_errors++;
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        /*
 
        if (length > ETH_FRAME_LEN) {
            printk(KERN_NOTICE "%s: Attempting to send a large packet"
                   " (%d bytes).\n", dev->name, length);
-           return 1;
+           return NETDEV_TX_BUSY;
        }
 
        DEBUG(4, "%s: Transmitting a packet of length %lu.\n",
 
        dev->stats.tx_aborted_errors++;
        printk(KERN_DEBUG "%s: Internal error -- sent packet while busy.\n",
               dev->name);
-       return 1;
+       return NETDEV_TX_BUSY;
     }
     smc->saved_skb = skb;
 
 
     DEBUG(2 + (okay ? 2 : 0), "%s: avail. tx space=%u%s\n",
          dev->name, freespace, okay ? " (okay)":" (not enough)");
     if (!okay) { /* not enough space */
-       return 1;  /* upper layer may decide to requeue this packet */
+       return NETDEV_TX_BUSY;  /* upper layer may decide to requeue this packet */
     }
     /* send the packet */
     PutWord(XIRCREG_EDP, (u_short)pktlen);
 
        struct plip_local *snd = &nl->snd_data;
 
        if (netif_queue_stopped(dev))
-               return 1;
+               return NETDEV_TX_BUSY;
 
        /* We may need to grab the bus */
        if (!nl->port_owner) {
                if (parport_claim(nl->pardev))
-                       return 1;
+                       return NETDEV_TX_BUSY;
                nl->port_owner = 1;
        }
 
        if (skb->len > dev->mtu + dev->hard_header_len) {
                printk(KERN_WARNING "%s: packet too big, %d.\n", dev->name, (int)skb->len);
                netif_start_queue (dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        if (net_debug > 2)
 
                netif_stop_queue(dev);
                spin_unlock_irqrestore(&sc->sbm_lock, flags);
 
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        dev->trans_start = jiffies;
 
                if (!sh_eth_txfree(ndev)) {
                        netif_stop_queue(ndev);
                        spin_unlock_irqrestore(&mdp->lock, flags);
-                       return 1;
+                       return NETDEV_TX_BUSY;
                }
        }
        spin_unlock_irqrestore(&mdp->lock, flags);
 
        /* Don't transmit data before the complete of auto-negotiation */
        if(!sis_priv->autong_complete){
                netif_stop_queue(net_dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        spin_lock_irqsave(&sis_priv->lock, flags);
 
        if (bp->QueueSkb == 0) {        // return with tbusy set: queue full
 
                netif_stop_queue(dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        bp->QueueSkb--;
        skb_queue_tail(&bp->SendSkbQueue, skb);
 
                /* THIS SHOULD NEVER HAPPEN. */
                dev->stats.tx_aborted_errors++;
                printk(CARDNAME": Bad Craziness - sent packet while busy.\n" );
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        lp->saved_skb = skb;
 
 
        if (!laddr) {
                printk(KERN_ERR "%s: failed to map tx DMA buffer.\n", dev->name);
                dev_kfree_skb(skb);
-               return 1;
+               return NETDEV_TX_BUSY
        }
 
        sonic_tda_put(dev, entry, SONIC_TD_STATUS, 0);       /* clear status */
 
         */
        if ((np->cur_tx - np->dirty_tx) + skb_num_frags(skb) * 2 > TX_RING_SIZE) {
                netif_stop_queue(dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
 #if defined(ZEROCOPY) && defined(HAS_BROKEN_FIRMWARE)
 
 #if(NUM_XMIT_BUFFS > 1)
        if(test_and_set_bit(0,(void *) &p->lock)) {
                printk("%s: Queue was locked\n",dev->name);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        else
 #endif
 
        if (netif_queue_stopped(dev)) {
                int tickssofar = jiffies - dev->trans_start;
                if (tickssofar < 20)
-                       return( 1 );
+                       return NETDEV_TX_BUSY;
 
                DPRINTK( 1, ( "%s: transmit timed out, status %04x, resetting.\n",
                                          dev->name, DREG ));
        if (test_and_set_bit( 0, (void*)&lp->lock ) != 0) {
                printk( "%s: tx queue lock!.\n", dev->name);
                /* don't clear dev->tbusy flag. */
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        AREG = CSR0;
 
                spin_unlock_irq(&hp->happy_lock);
                printk(KERN_ERR "%s: BUG! Tx Ring full when queue awake!\n",
                       dev->name);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        entry = hp->tx_new;
 
                          dev->name, priv->txHead, priv->txTail );
                netif_stop_queue(dev);
                priv->txBusyCount++;
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        tail_list->forward = 0;
 
                return 0;
        } else {
                spin_unlock_irqrestore(&xl_priv->xl_lock,flags) ; 
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
 }
 
        } else {
                netif_stop_queue(dev);
                spin_unlock_irqrestore(&streamer_priv->streamer_lock,flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 }
 
 
                return 0;
        } else {
                spin_unlock_irqrestore(&olympic_priv->olympic_lock,flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        } 
 
 }
 
         netif_stop_queue(dev);
 
         if(tp->QueueSkb == 0)
-                return (1);     /* Return with tbusy set: queue full */
+                return NETDEV_TX_BUSY;     /* Return with tbusy set: queue full */
 
         tp->QueueSkb--;
         skb_queue_tail(&tp->SendSkbQueue, skb);
 
                if (tms380tr_debug > 0)
                        printk(KERN_DEBUG "%s: No free TPL\n", dev->name);
                spin_unlock_irqrestore(&tp->lock, flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        dmabuf = 0;
 
        if (tx_free == 0) {
                netif_stop_queue(dev);
                spin_unlock_irq(&de->lock);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        tx_free--;
 
 
 {
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
-    int status = 0;
+    int status = NETDEV_TX_OK;
     u_long flags = 0;
 
     netif_stop_queue(dev);
     if (!lp->tx_enable) {                   /* Cannot send for now */
-       return -1;
+       return NETDEV_TX_LOCKED;
     }
 
     /*
 
     /* Test if cache is already locked - requeue skb if so */
     if (test_and_set_bit(0, (void *)&lp->cache.lock) && !lp->interrupt)
-       return -1;
+       return NETDEV_TX_LOCKED;
 
     /* Transmit descriptor ring full or stale skb */
     if (netif_queue_stopped(dev) || (u_long) lp->tx_skb[lp->tx_new] > 1) {
 
                spin_unlock_irqrestore(&db->lock, flags);
                printk(KERN_ERR DRV_NAME ": No Tx resource %ld\n",
                       db->tx_queue_cnt);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        /* Disable NIC interrupt */
 
        if (db->tx_packet_cnt >= TX_FREE_DESC_CNT) {
                spin_unlock_irqrestore(&db->lock, flags);
                printk(KERN_ERR DRV_NAME ": No Tx resource %ld\n", db->tx_packet_cnt);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        /* Disable NIC interrupt */
 
        {
                case DLCI_RET_OK:
                        dev->stats.tx_packets++;
-                       ret = 0;
+                       ret = NETDEV_TX_OK;
                        break;
                        case DLCI_RET_ERR:
                        dev->stats.tx_errors++;
-                       ret = 0;
+                       ret = NETDEV_TX_OK;
                        break;
                        case DLCI_RET_DROP:
                        dev->stats.tx_dropped++;
-                       ret = 1;
+                       ret = NETDEV_TX_BUSY;
                        break;
        }
        /* Alan Cox recommends always returning 0, and always freeing the packet */
 
                }
        }
 
-       return  1;
+       return NETDEV_TX_BUSY;
 }
 
 #else  /* CONFIG_SBNI_MULTILINE */
 
 #endif
                netif_stop_queue(dev);
                spin_unlock_irq(&port->lock);
-               return 1;       /* request packet to be queued */
+               return NETDEV_TX_BUSY;       /* request packet to be queued */
        }
 
 #ifdef DEBUG_PKT
 
                netif_stop_queue (dev);
                if (npacks > MAXTXQ) {
                        dev->stats.tx_fifo_errors++;
-                       return 1;
+                       return NETDEV_TX_BUSY;
                }
                skb_queue_tail (&ai->txq, skb);
                return 0;
 
                if (i == MAX_FIDS / 2) {
                        dev->stats.tx_fifo_errors++;
-                       return 1;
+                       return NETDEV_TX_BUSY;
                }
        }
        /* check min length*/
 
                if (i == MAX_FIDS) {
                        dev->stats.tx_fifo_errors++;
-                       return 1;
+                       return NETDEV_TX_BUSY;
                }
        }
        /* check min length*/
 
        arlan_process_interrupt(dev);
        netif_stop_queue (dev);
        ARLAN_DEBUG_EXIT("arlan_tx");
-       return 1;
+       return NETDEV_TX_BUSY;
 }
 
 
 
                spin_unlock_irqrestore(&priv->irqlock, flags);
                spin_unlock_bh(&priv->timerlock);
                netif_stop_queue(dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        frame_ctl = IEEE80211_FTYPE_DATA;
 
 {
        struct hostap_interface *iface;
        local_info_t *local;
-       int ret = 1;
+       int ret = NETDEV_TX_BUSY;
        u16 fc;
        struct hostap_tx_data tx;
        ap_tx_ret tx_ret;
 
        spin_unlock_irqrestore(&ieee->lock, flags);
        netif_stop_queue(dev);
        dev->stats.tx_errors++;
-       return 1;
+       return NETDEV_TX_BUSY;
 }
 EXPORT_SYMBOL(ieee80211_xmit);
 
 
 
        if (!(pcmcia_dev_present(link))) {
                DEBUG(2, "ray_dev_start_xmit - device not present\n");
-               return -1;
+               return NETDEV_TX_LOCKED;
        }
        DEBUG(3, "ray_dev_start_xmit(skb=%p, dev=%p)\n", skb, dev);
        if (local->authentication_state == NEED_TO_AUTH) {
                if (!build_auth_frame(local, local->auth_id, OPEN_AUTH_REQUEST)) {
                        local->authentication_state = AUTHENTICATED;
                        netif_stop_queue(dev);
-                       return 1;
+                       return NETDEV_TX_BUSY;
                }
        }
 
        case XMIT_NO_CCS:
        case XMIT_NEED_AUTH:
                netif_stop_queue(dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        case XMIT_NO_INTR:
        case XMIT_MSG_BAD:
        case XMIT_OK:
 
        if (!netif_running(dev)) {
                printk(KERN_ERR "%s: xmit call when iface is down\n",
                       dev->name);
-               return (1);
+               return NETDEV_TX_BUSY;
        }
 
        netif_stop_queue(dev);
 
                spin_unlock_irqrestore(&lp->spinlock, flags);
                /* Check that we can continue */
                if (lp->tx_n_in_use == (NTXBLOCKS - 1))
-                       return 1;
+                       return NETDEV_TX_BUSY;
        }
 
        /* Do we need some padding? */
                skb_copy_from_linear_data(skb, data, skb->len);
                /* Write packet on the card */
                if(wv_packet_write(dev, data, ETH_ZLEN))
-                       return 1;       /* We failed */
+                       return NETDEV_TX_BUSY;  /* We failed */
        }
        else if(wv_packet_write(dev, skb->data, skb->len))
-               return 1;       /* We failed */
+               return NETDEV_TX_BUSY;  /* We failed */
 
 
        dev_kfree_skb(skb);
 
                return NETDEV_TX_BUSY;
        }
        dev->trans_start = jiffies;
-       rc = netiucv_transmit_skb(privptr->conn, skb) != 0;
+       rc = netiucv_transmit_skb(privptr->conn, skb);
        netiucv_clear_busy(dev);
-       return rc;
+       return rc ? NETDEV_TX_BUSY : NETDEV_TX_OK;
 }
 
 /**
 
                         * available
                         */
                        netif_stop_queue(netdev);
-                       status = 1;
+                       status = NETDEV_TX_BUSY;
                } else {
                        DBG_WARNING(et131x_dbginfo,
                                    "Misc error; drop packet\n");
-                       status = 0;
+                       status = NETDEV_TX_OK;
                }
        }
 
 
        spin_unlock_irqrestore(&ieee->lock, flags);
        netif_stop_queue(dev);
        stats->tx_errors++;
-       return 1;
+       return NETDEV_TX_BUSY;
 
 }
 
 
                /* success and more buf */
                /* avail, re: hw_txdata */
                netif_wake_queue(wlandev->netdev);
-               result = 0;
+               result = NETDEV_TX_OK;
        } else if (txresult == 1) {
                /* success, no more avail */
                pr_debug("txframe success, no more bufs\n");
                /* netdev->tbusy = 1;  don't set here, irqhdlr */
                /*   may have already cleared it */
-               result = 0;
+               result = NETDEV_TX_OK;
        } else if (txresult == 2) {
                /* alloc failure, drop frame */
                pr_debug("txframe returned alloc_fail\n");
-               result = 1;
+               result = NETDEV_TX_BUSY;
        } else {
                /* buffer full or queue busy, drop frame. */
                pr_debug("txframe returned full or busy\n");
-               result = 1;
+               result = NETDEV_TX_BUSY;
        }
 
 failed:
 
         */
        if (list_empty(&dev->tx_reqs)) {
                spin_unlock_irqrestore(&dev->req_lock, flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 
        req = container_of(dev->tx_reqs.next, struct usb_request, list);
 
 {
        struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
        struct ieee80211_local *local = sdata->local;
-       int ret = 1, head_need;
+       int ret = NETDEV_TX_BUSY, head_need;
        u16 ethertype, hdrlen,  meshhdrlen = 0;
        __le16 fc;
        struct ieee80211_hdr hdr;
 
 
        if (!netif_running(dev)) {
                printk(KERN_ERR "ROSE: rose_xmit - called when iface is down\n");
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        dev_kfree_skb(skb);
        stats->tx_errors++;
 
 
        if (busy) {
                netif_stop_queue(dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        dev->stats.tx_errors++;