|
@@ -1188,11 +1188,10 @@ static void hamachi_init_ring(struct net_device *dev)
|
|
}
|
|
}
|
|
/* Fill in the Rx buffers. Handle allocation failure gracefully. */
|
|
/* Fill in the Rx buffers. Handle allocation failure gracefully. */
|
|
for (i = 0; i < RX_RING_SIZE; i++) {
|
|
for (i = 0; i < RX_RING_SIZE; i++) {
|
|
- struct sk_buff *skb = dev_alloc_skb(hmp->rx_buf_sz + 2);
|
|
|
|
|
|
+ struct sk_buff *skb = netdev_alloc_skb(dev, hmp->rx_buf_sz + 2);
|
|
hmp->rx_skbuff[i] = skb;
|
|
hmp->rx_skbuff[i] = skb;
|
|
if (skb == NULL)
|
|
if (skb == NULL)
|
|
break;
|
|
break;
|
|
- skb->dev = dev; /* Mark as being used by this device. */
|
|
|
|
skb_reserve(skb, 2); /* 16 byte align the IP header. */
|
|
skb_reserve(skb, 2); /* 16 byte align the IP header. */
|
|
hmp->rx_ring[i].addr = cpu_to_leXX(pci_map_single(hmp->pci_dev,
|
|
hmp->rx_ring[i].addr = cpu_to_leXX(pci_map_single(hmp->pci_dev,
|
|
skb->data, hmp->rx_buf_sz, PCI_DMA_FROMDEVICE));
|
|
skb->data, hmp->rx_buf_sz, PCI_DMA_FROMDEVICE));
|
|
@@ -1488,7 +1487,7 @@ static int hamachi_rx(struct net_device *dev)
|
|
/* Check if the packet is long enough to accept without copying
|
|
/* Check if the packet is long enough to accept without copying
|
|
to a minimally-sized skbuff. */
|
|
to a minimally-sized skbuff. */
|
|
if (pkt_len < rx_copybreak &&
|
|
if (pkt_len < rx_copybreak &&
|
|
- (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
|
|
|
|
|
|
+ (skb = netdev_alloc_skb(dev, pkt_len + 2)) != NULL) {
|
|
#ifdef RX_CHECKSUM
|
|
#ifdef RX_CHECKSUM
|
|
printk(KERN_ERR "%s: rx_copybreak non-zero "
|
|
printk(KERN_ERR "%s: rx_copybreak non-zero "
|
|
"not good with RX_CHECKSUM\n", dev->name);
|
|
"not good with RX_CHECKSUM\n", dev->name);
|
|
@@ -1591,12 +1590,11 @@ static int hamachi_rx(struct net_device *dev)
|
|
entry = hmp->dirty_rx % RX_RING_SIZE;
|
|
entry = hmp->dirty_rx % RX_RING_SIZE;
|
|
desc = &(hmp->rx_ring[entry]);
|
|
desc = &(hmp->rx_ring[entry]);
|
|
if (hmp->rx_skbuff[entry] == NULL) {
|
|
if (hmp->rx_skbuff[entry] == NULL) {
|
|
- struct sk_buff *skb = dev_alloc_skb(hmp->rx_buf_sz + 2);
|
|
|
|
|
|
+ struct sk_buff *skb = netdev_alloc_skb(dev, hmp->rx_buf_sz + 2);
|
|
|
|
|
|
hmp->rx_skbuff[entry] = skb;
|
|
hmp->rx_skbuff[entry] = skb;
|
|
if (skb == NULL)
|
|
if (skb == NULL)
|
|
break; /* Better luck next round. */
|
|
break; /* Better luck next round. */
|
|
- skb->dev = dev; /* Mark as being used by this device. */
|
|
|
|
skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
|
|
skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
|
|
desc->addr = cpu_to_leXX(pci_map_single(hmp->pci_dev,
|
|
desc->addr = cpu_to_leXX(pci_map_single(hmp->pci_dev,
|
|
skb->data, hmp->rx_buf_sz, PCI_DMA_FROMDEVICE));
|
|
skb->data, hmp->rx_buf_sz, PCI_DMA_FROMDEVICE));
|