]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/dl2k.c
[POWERPC] Fix cpm_uart driver for cpm1 machines
[linux-2.6-omap-h63xx.git] / drivers / net / dl2k.c
index 7e95cf1a4872ab2287c7ca5d6b9d3a5c4137e58b..04e3710c908269e3510a9492296ee041e75e717b 100644 (file)
@@ -60,7 +60,7 @@ static void rio_timer (unsigned long data);
 static void rio_tx_timeout (struct net_device *dev);
 static void alloc_list (struct net_device *dev);
 static int start_xmit (struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t rio_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
+static irqreturn_t rio_interrupt (int irq, void *dev_instance);
 static void rio_free_tx (struct net_device *dev, int irq);
 static void tx_error (struct net_device *dev, int tx_status);
 static int receive_packet (struct net_device *dev);
@@ -250,7 +250,6 @@ rio_probe1 (struct pci_dev *pdev, const struct pci_device_id *ent)
                        np->an_enable = 1;
                mii_set_media (dev);
        }
-       pci_read_config_byte(pdev, PCI_REVISION_ID, &np->pci_rev_id);
 
        err = register_netdev (dev);
        if (err)
@@ -504,7 +503,6 @@ rio_timer (unsigned long data)
                                        break;
                                }
                                np->rx_skbuff[entry] = skb;
-                               skb->dev = dev;
                                /* 16 byte align the IP header */
                                skb_reserve (skb, 2);
                                np->rx_ring[entry].fraginfo =
@@ -575,7 +573,6 @@ alloc_list (struct net_device *dev)
                                dev->name);
                        break;
                }
-               skb->dev = dev; /* Mark as being used by this device. */
                skb_reserve (skb, 2);   /* 16 byte align the IP header. */
                /* Rubicon now supports 40 bits of addressing space. */
                np->rx_ring[i].fraginfo =
@@ -665,7 +662,7 @@ start_xmit (struct sk_buff *skb, struct net_device *dev)
 }
 
 static irqreturn_t
-rio_interrupt (int irq, void *dev_instance, struct pt_regs *rgs)
+rio_interrupt (int irq, void *dev_instance)
 {
        struct net_device *dev = dev_instance;
        struct netdev_private *np;
@@ -866,12 +863,11 @@ receive_packet (struct net_device *dev)
                                                                DMA_48BIT_MASK,
                                                            np->rx_buf_sz,
                                                            PCI_DMA_FROMDEVICE);
-                               skb->dev = dev;
                                /* 16 byte align the IP header */
                                skb_reserve (skb, 2);
-                               eth_copy_and_sum (skb,
+                               skb_copy_to_linear_data (skb,
                                                  np->rx_skbuff[entry]->data,
-                                                 pkt_len, 0);
+                                                 pkt_len);
                                skb_put (skb, pkt_len);
                                pci_dma_sync_single_for_device(np->pdev,
                                                               desc->fraginfo &
@@ -882,7 +878,7 @@ receive_packet (struct net_device *dev)
                        skb->protocol = eth_type_trans (skb, dev);
 #if 0
                        /* Checksum done by hw, but csum value unavailable. */
-                       if (np->pci_rev_id >= 0x0c &&
+                       if (np->pdev->pci_rev_id >= 0x0c &&
                                !(frame_status & (TCPError | UDPError | IPError))) {
                                skb->ip_summed = CHECKSUM_UNNECESSARY;
                        }
@@ -910,7 +906,6 @@ receive_packet (struct net_device *dev)
                                break;
                        }
                        np->rx_skbuff[entry] = skb;
-                       skb->dev = dev;
                        /* 16 byte align the IP header */
                        skb_reserve (skb, 2);
                        np->rx_ring[entry].fraginfo =