diff options
Diffstat (limited to 'drivers/net/fealnx.c')
-rw-r--r-- | drivers/net/fealnx.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c index d05e9dd1e140..55dbe9a3fd56 100644 --- a/drivers/net/fealnx.c +++ b/drivers/net/fealnx.c | |||
@@ -1107,7 +1107,7 @@ static void allocate_rx_buffers(struct net_device *dev) | |||
1107 | 1107 | ||
1108 | skb->dev = dev; /* Mark as being used by this device. */ | 1108 | skb->dev = dev; /* Mark as being used by this device. */ |
1109 | np->lack_rxbuf->skbuff = skb; | 1109 | np->lack_rxbuf->skbuff = skb; |
1110 | np->lack_rxbuf->buffer = pci_map_single(np->pci_dev, skb->tail, | 1110 | np->lack_rxbuf->buffer = pci_map_single(np->pci_dev, skb->data, |
1111 | np->rx_buf_sz, PCI_DMA_FROMDEVICE); | 1111 | np->rx_buf_sz, PCI_DMA_FROMDEVICE); |
1112 | np->lack_rxbuf->status = RXOWN; | 1112 | np->lack_rxbuf->status = RXOWN; |
1113 | ++np->really_rx_count; | 1113 | ++np->really_rx_count; |
@@ -1300,7 +1300,7 @@ static void init_ring(struct net_device *dev) | |||
1300 | ++np->really_rx_count; | 1300 | ++np->really_rx_count; |
1301 | np->rx_ring[i].skbuff = skb; | 1301 | np->rx_ring[i].skbuff = skb; |
1302 | skb->dev = dev; /* Mark as being used by this device. */ | 1302 | skb->dev = dev; /* Mark as being used by this device. */ |
1303 | np->rx_ring[i].buffer = pci_map_single(np->pci_dev, skb->tail, | 1303 | np->rx_ring[i].buffer = pci_map_single(np->pci_dev, skb->data, |
1304 | np->rx_buf_sz, PCI_DMA_FROMDEVICE); | 1304 | np->rx_buf_sz, PCI_DMA_FROMDEVICE); |
1305 | np->rx_ring[i].status = RXOWN; | 1305 | np->rx_ring[i].status = RXOWN; |
1306 | np->rx_ring[i].control |= RXIC; | 1306 | np->rx_ring[i].control |= RXIC; |
@@ -1423,8 +1423,7 @@ static void reset_tx_descriptors(struct net_device *dev) | |||
1423 | if (cur->skbuff) { | 1423 | if (cur->skbuff) { |
1424 | pci_unmap_single(np->pci_dev, cur->buffer, | 1424 | pci_unmap_single(np->pci_dev, cur->buffer, |
1425 | cur->skbuff->len, PCI_DMA_TODEVICE); | 1425 | cur->skbuff->len, PCI_DMA_TODEVICE); |
1426 | dev_kfree_skb(cur->skbuff); | 1426 | dev_kfree_skb_any(cur->skbuff); |
1427 | /* or dev_kfree_skb_irq(cur->skbuff); ? */ | ||
1428 | cur->skbuff = NULL; | 1427 | cur->skbuff = NULL; |
1429 | } | 1428 | } |
1430 | cur->status = 0; | 1429 | cur->status = 0; |
@@ -1738,11 +1737,11 @@ static int netdev_rx(struct net_device *dev) | |||
1738 | 1737 | ||
1739 | #if ! defined(__alpha__) | 1738 | #if ! defined(__alpha__) |
1740 | eth_copy_and_sum(skb, | 1739 | eth_copy_and_sum(skb, |
1741 | np->cur_rx->skbuff->tail, pkt_len, 0); | 1740 | np->cur_rx->skbuff->data, pkt_len, 0); |
1742 | skb_put(skb, pkt_len); | 1741 | skb_put(skb, pkt_len); |
1743 | #else | 1742 | #else |
1744 | memcpy(skb_put(skb, pkt_len), | 1743 | memcpy(skb_put(skb, pkt_len), |
1745 | np->cur_rx->skbuff->tail, pkt_len); | 1744 | np->cur_rx->skbuff->data, pkt_len); |
1746 | #endif | 1745 | #endif |
1747 | pci_dma_sync_single_for_device(np->pci_dev, | 1746 | pci_dma_sync_single_for_device(np->pci_dev, |
1748 | np->cur_rx->buffer, | 1747 | np->cur_rx->buffer, |