]> err.no Git - linux-2.6/blobdiff - drivers/net/ixp2000/ixpdev.c
Pull throttle into release branch
[linux-2.6] / drivers / net / ixp2000 / ixpdev.c
index 6eeb965b4d72b9214a3edddbfc52f6b8f7f21394..d9ce1aef148a5d9ab4c4d3ccf8c4b0e5ded4eda2 100644 (file)
@@ -110,11 +110,10 @@ static int ixpdev_rx(struct net_device *dev, int *budget)
 
                skb = dev_alloc_skb(desc->pkt_length + 2);
                if (likely(skb != NULL)) {
-                       skb->dev = nds[desc->channel];
                        skb_reserve(skb, 2);
-                       eth_copy_and_sum(skb, buf, desc->pkt_length, 0);
+                       skb_copy_to_linear_data(skb, buf, desc->pkt_length);
                        skb_put(skb, desc->pkt_length);
-                       skb->protocol = eth_type_trans(skb, skb->dev);
+                       skb->protocol = eth_type_trans(skb, nds[desc->channel]);
 
                        skb->dev->last_rx = jiffies;
 
@@ -188,7 +187,7 @@ static void ixpdev_tx_complete(void)
        }
 }
 
-static irqreturn_t ixpdev_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t ixpdev_interrupt(int irq, void *dev_id)
 {
        u32 status;
 
@@ -223,7 +222,7 @@ static irqreturn_t ixpdev_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 static void ixpdev_poll_controller(struct net_device *dev)
 {
        disable_irq(IRQ_IXP2000_THDA0);
-       ixpdev_interrupt(IRQ_IXP2000_THDA0, dev, NULL);
+       ixpdev_interrupt(IRQ_IXP2000_THDA0, dev);
        enable_irq(IRQ_IXP2000_THDA0);
 }
 #endif