diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2012-05-04 14:26:56 +0000 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2014-06-09 13:29:00 +0100 |
commit | 93a1554e0ca3cbabfb90d8d6edeb1680597283a3 (patch) | |
tree | f995a71923888408e726ca24873cea51d1b3b98e /drivers/atm | |
parent | 7df12dedb762223a0594078b85849c4a35581e9a (diff) | |
download | kernel_samsung_smdk4412-93a1554e0ca3cbabfb90d8d6edeb1680597283a3.zip kernel_samsung_smdk4412-93a1554e0ca3cbabfb90d8d6edeb1680597283a3.tar.gz kernel_samsung_smdk4412-93a1554e0ca3cbabfb90d8d6edeb1680597283a3.tar.bz2 |
skb: Add inline helper for getting the skb end offset from head
[ Upstream commit ec47ea82477404631d49b8e568c71826c9b663ac ]
With the recent changes for how we compute the skb truesize it occurs to me
we are probably going to have a lot of calls to skb_end_pointer -
skb->head. Instead of running all over the place doing that it would make
more sense to just make it a separate inline skb_end_offset(skb) that way
we can return the correct value without having gcc having to do all the
optimization to cancel out skb->head - skb->head.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/atm')
-rw-r--r-- | drivers/atm/ambassador.c | 2 | ||||
-rw-r--r-- | drivers/atm/idt77252.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c index f8f41e0..89b30f3 100644 --- a/drivers/atm/ambassador.c +++ b/drivers/atm/ambassador.c @@ -802,7 +802,7 @@ static void fill_rx_pool (amb_dev * dev, unsigned char pool, } // cast needed as there is no %? for pointer differences PRINTD (DBG_SKB, "allocated skb at %p, head %p, area %li", - skb, skb->head, (long) (skb_end_pointer(skb) - skb->head)); + skb, skb->head, (long) skb_end_offset(skb)); rx.handle = virt_to_bus (skb); rx.host_address = cpu_to_be32 (virt_to_bus (skb->data)); if (rx_give (dev, &rx, pool)) diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c index b0e75ce..81845fa 100644 --- a/drivers/atm/idt77252.c +++ b/drivers/atm/idt77252.c @@ -1258,7 +1258,7 @@ idt77252_rx_raw(struct idt77252_dev *card) tail = readl(SAR_REG_RAWCT); pci_dma_sync_single_for_cpu(card->pcidev, IDT77252_PRV_PADDR(queue), - skb_end_pointer(queue) - queue->head - 16, + skb_end_offset(queue) - 16, PCI_DMA_FROMDEVICE); while (head != tail) { |