diff options
Diffstat (limited to 'drivers/net/skge.c')
-rw-r--r-- | drivers/net/skge.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index d476a3cc2e94..f1a0e6c0fbdd 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
@@ -2654,12 +2654,12 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev) | |||
2654 | td->dma_hi = map >> 32; | 2654 | td->dma_hi = map >> 32; |
2655 | 2655 | ||
2656 | if (skb->ip_summed == CHECKSUM_PARTIAL) { | 2656 | if (skb->ip_summed == CHECKSUM_PARTIAL) { |
2657 | int offset = skb->h.raw - skb->data; | 2657 | const int offset = skb_transport_offset(skb); |
2658 | 2658 | ||
2659 | /* This seems backwards, but it is what the sk98lin | 2659 | /* This seems backwards, but it is what the sk98lin |
2660 | * does. Looks like hardware is wrong? | 2660 | * does. Looks like hardware is wrong? |
2661 | */ | 2661 | */ |
2662 | if (skb->h.ipiph->protocol == IPPROTO_UDP | 2662 | if (ipip_hdr(skb)->protocol == IPPROTO_UDP |
2663 | && hw->chip_rev == 0 && hw->chip_id == CHIP_ID_YUKON) | 2663 | && hw->chip_rev == 0 && hw->chip_id == CHIP_ID_YUKON) |
2664 | control = BMU_TCP_CHECK; | 2664 | control = BMU_TCP_CHECK; |
2665 | else | 2665 | else |
@@ -2950,7 +2950,7 @@ static struct sk_buff *skge_rx_get(struct net_device *dev, | |||
2950 | pci_dma_sync_single_for_cpu(skge->hw->pdev, | 2950 | pci_dma_sync_single_for_cpu(skge->hw->pdev, |
2951 | pci_unmap_addr(e, mapaddr), | 2951 | pci_unmap_addr(e, mapaddr), |
2952 | len, PCI_DMA_FROMDEVICE); | 2952 | len, PCI_DMA_FROMDEVICE); |
2953 | memcpy(skb->data, e->skb->data, len); | 2953 | skb_copy_from_linear_data(e->skb, skb->data, len); |
2954 | pci_dma_sync_single_for_device(skge->hw->pdev, | 2954 | pci_dma_sync_single_for_device(skge->hw->pdev, |
2955 | pci_unmap_addr(e, mapaddr), | 2955 | pci_unmap_addr(e, mapaddr), |
2956 | len, PCI_DMA_FROMDEVICE); | 2956 | len, PCI_DMA_FROMDEVICE); |