diff options
Diffstat (limited to 'drivers/net/tulip/winbond-840.c')
-rw-r--r-- | drivers/net/tulip/winbond-840.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c index caff2f590165..5b1af3986abf 100644 --- a/drivers/net/tulip/winbond-840.c +++ b/drivers/net/tulip/winbond-840.c | |||
@@ -121,6 +121,7 @@ static int full_duplex[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; | |||
121 | #include <linux/slab.h> | 121 | #include <linux/slab.h> |
122 | #include <linux/interrupt.h> | 122 | #include <linux/interrupt.h> |
123 | #include <linux/pci.h> | 123 | #include <linux/pci.h> |
124 | #include <linux/dma-mapping.h> | ||
124 | #include <linux/netdevice.h> | 125 | #include <linux/netdevice.h> |
125 | #include <linux/etherdevice.h> | 126 | #include <linux/etherdevice.h> |
126 | #include <linux/skbuff.h> | 127 | #include <linux/skbuff.h> |
@@ -394,7 +395,7 @@ static int __devinit w840_probe1 (struct pci_dev *pdev, | |||
394 | 395 | ||
395 | irq = pdev->irq; | 396 | irq = pdev->irq; |
396 | 397 | ||
397 | if (pci_set_dma_mask(pdev,0xFFFFffff)) { | 398 | if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { |
398 | printk(KERN_WARNING "Winbond-840: Device %s disabled due to DMA limitations.\n", | 399 | printk(KERN_WARNING "Winbond-840: Device %s disabled due to DMA limitations.\n", |
399 | pci_name(pdev)); | 400 | pci_name(pdev)); |
400 | return -EIO; | 401 | return -EIO; |
@@ -848,7 +849,7 @@ static void init_rxtx_rings(struct net_device *dev) | |||
848 | if (skb == NULL) | 849 | if (skb == NULL) |
849 | break; | 850 | break; |
850 | skb->dev = dev; /* Mark as being used by this device. */ | 851 | skb->dev = dev; /* Mark as being used by this device. */ |
851 | np->rx_addr[i] = pci_map_single(np->pci_dev,skb->tail, | 852 | np->rx_addr[i] = pci_map_single(np->pci_dev,skb->data, |
852 | skb->len,PCI_DMA_FROMDEVICE); | 853 | skb->len,PCI_DMA_FROMDEVICE); |
853 | 854 | ||
854 | np->rx_ring[i].buffer1 = np->rx_addr[i]; | 855 | np->rx_ring[i].buffer1 = np->rx_addr[i]; |
@@ -1268,7 +1269,7 @@ static int netdev_rx(struct net_device *dev) | |||
1268 | pci_dma_sync_single_for_cpu(np->pci_dev,np->rx_addr[entry], | 1269 | pci_dma_sync_single_for_cpu(np->pci_dev,np->rx_addr[entry], |
1269 | np->rx_skbuff[entry]->len, | 1270 | np->rx_skbuff[entry]->len, |
1270 | PCI_DMA_FROMDEVICE); | 1271 | PCI_DMA_FROMDEVICE); |
1271 | eth_copy_and_sum(skb, np->rx_skbuff[entry]->tail, pkt_len, 0); | 1272 | eth_copy_and_sum(skb, np->rx_skbuff[entry]->data, pkt_len, 0); |
1272 | skb_put(skb, pkt_len); | 1273 | skb_put(skb, pkt_len); |
1273 | pci_dma_sync_single_for_device(np->pci_dev,np->rx_addr[entry], | 1274 | pci_dma_sync_single_for_device(np->pci_dev,np->rx_addr[entry], |
1274 | np->rx_skbuff[entry]->len, | 1275 | np->rx_skbuff[entry]->len, |
@@ -1314,7 +1315,7 @@ static int netdev_rx(struct net_device *dev) | |||
1314 | break; /* Better luck next round. */ | 1315 | break; /* Better luck next round. */ |
1315 | skb->dev = dev; /* Mark as being used by this device. */ | 1316 | skb->dev = dev; /* Mark as being used by this device. */ |
1316 | np->rx_addr[entry] = pci_map_single(np->pci_dev, | 1317 | np->rx_addr[entry] = pci_map_single(np->pci_dev, |
1317 | skb->tail, | 1318 | skb->data, |
1318 | skb->len, PCI_DMA_FROMDEVICE); | 1319 | skb->len, PCI_DMA_FROMDEVICE); |
1319 | np->rx_ring[entry].buffer1 = np->rx_addr[entry]; | 1320 | np->rx_ring[entry].buffer1 = np->rx_addr[entry]; |
1320 | } | 1321 | } |