b43: Convert usage of b43_radio_set()
[safe/jmp/linux-2.6] / drivers / net / b44.c
index 5ae131c..2a51c75 100644 (file)
@@ -679,6 +679,7 @@ static int b44_alloc_rx_skb(struct b44 *bp, int src_idx, u32 dest_idx_unmasked)
                        dev_kfree_skb_any(skb);
                        return -ENOMEM;
                }
+               bp->force_copybreak = 1;
        }
 
        rh = (struct rx_header *) skb->data;
@@ -800,7 +801,7 @@ static int b44_rx(struct b44 *bp, int budget)
                /* Omit CRC. */
                len -= 4;
 
-               if (len > RX_COPY_THRESHOLD) {
+               if (!bp->force_copybreak && len > RX_COPY_THRESHOLD) {
                        int skb_size;
                        skb_size = b44_alloc_rx_skb(bp, cons, bp->rx_prod);
                        if (skb_size < 0)
@@ -873,7 +874,7 @@ static int b44_poll(struct napi_struct *napi, int budget)
        }
 
        if (work_done < budget) {
-               netif_rx_complete(napi);
+               napi_complete(napi);
                b44_enable_ints(bp);
        }
 
@@ -905,13 +906,13 @@ static irqreturn_t b44_interrupt(int irq, void *dev_id)
                        goto irq_ack;
                }
 
-               if (netif_rx_schedule_prep(&bp->napi)) {
+               if (napi_schedule_prep(&bp->napi)) {
                        /* NOTE: These writes are posted by the readback of
                         *       the ISTAT register below.
                         */
                        bp->istat = istat;
                        __b44_disable_ints(bp);
-                       __netif_rx_schedule(&bp->napi);
+                       __napi_schedule(&bp->napi);
                } else {
                        printk(KERN_ERR PFX "%s: Error, poll already scheduled\n",
                               dev->name);
@@ -972,7 +973,7 @@ static int b44_start_xmit(struct sk_buff *skb, struct net_device *dev)
                        ssb_dma_unmap_single(bp->sdev, mapping, len,
                                             DMA_TO_DEVICE);
 
-               bounce_skb = __dev_alloc_skb(len, GFP_ATOMIC | GFP_DMA);
+               bounce_skb = __netdev_alloc_skb(dev, len, GFP_ATOMIC | GFP_DMA);
                if (!bounce_skb)
                        goto err_out;
 
@@ -2152,6 +2153,7 @@ static int __devinit b44_init_one(struct ssb_device *sdev,
        bp = netdev_priv(dev);
        bp->sdev = sdev;
        bp->dev = dev;
+       bp->force_copybreak = 0;
 
        bp->msg_enable = netif_msg_init(b44_debug, B44_DEF_MSG_ENABLE);