[SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}
To clearly state the intent of copying from linear sk_buffs, _offset being a overly long variant but interesting for the sake of saving some bytes. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
David S. Miller

parent
2a123b86e2
commit
d626f62b11
@@ -1472,9 +1472,8 @@ static int ali_ircc_fir_hard_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
self->stats.tx_bytes += skb->len;
|
||||
|
||||
memcpy(self->tx_fifo.queue[self->tx_fifo.free].start, skb->data,
|
||||
skb->len);
|
||||
|
||||
skb_copy_from_linear_data(skb, self->tx_fifo.queue[self->tx_fifo.free].start,
|
||||
skb->len);
|
||||
self->tx_fifo.len++;
|
||||
self->tx_fifo.free++;
|
||||
|
||||
|
@@ -526,7 +526,7 @@ static int au1k_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
if (aup->speed == 4000000) {
|
||||
/* FIR */
|
||||
memcpy((void *)pDB->vaddr, skb->data, skb->len);
|
||||
skb_copy_from_linear_data(skb, pDB->vaddr, skb->len);
|
||||
ptxd->count_0 = skb->len & 0xff;
|
||||
ptxd->count_1 = (skb->len >> 8) & 0xff;
|
||||
|
||||
|
@@ -1119,7 +1119,7 @@ dumpbufs(skb->data,skb->len,'>');
|
||||
else
|
||||
{
|
||||
len = skb->len;
|
||||
memcpy (self->tx_bufs[self->txs], skb->data, len);
|
||||
skb_copy_from_linear_data(skb, self->tx_bufs[self->txs], len);
|
||||
}
|
||||
self->ring->tx[self->txs].len = len & 0x0fff;
|
||||
|
||||
|
@@ -441,7 +441,7 @@ static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *netdev)
|
||||
goto drop;
|
||||
}
|
||||
|
||||
memcpy(self->tx_buff + self->header_length, skb->data, skb->len);
|
||||
skb_copy_from_linear_data(skb, self->tx_buff + self->header_length, skb->len);
|
||||
|
||||
/* Change setting for next frame */
|
||||
if (self->capability & IUC_STIR421X) {
|
||||
@@ -902,7 +902,7 @@ static void irda_usb_receive(struct urb *urb)
|
||||
|
||||
if(docopy) {
|
||||
/* Copy packet, so we can recycle the original */
|
||||
memcpy(newskb->data, skb->data, urb->actual_length);
|
||||
skb_copy_from_linear_data(skb, newskb->data, urb->actual_length);
|
||||
/* Deliver this new skb */
|
||||
dataskb = newskb;
|
||||
/* And hook the old skb to the URB
|
||||
|
@@ -353,7 +353,7 @@ static unsigned mcs_wrap_fir_skb(const struct sk_buff *skb, __u8 *buf)
|
||||
buf[0] = len & 0xff;
|
||||
buf[1] = (len >> 8) & 0xff;
|
||||
/* copy the data into the tx buffer. */
|
||||
memcpy(buf+2, skb->data, skb->len);
|
||||
skb_copy_from_linear_data(skb, buf + 2, skb->len);
|
||||
/* put the fcs in the last four bytes in little endian order. */
|
||||
buf[len - 4] = fcs & 0xff;
|
||||
buf[len - 3] = (fcs >> 8) & 0xff;
|
||||
@@ -377,7 +377,7 @@ static unsigned mcs_wrap_mir_skb(const struct sk_buff *skb, __u8 *buf)
|
||||
buf[0] = len & 0xff;
|
||||
buf[1] = (len >> 8) & 0xff;
|
||||
/* copy the data */
|
||||
memcpy(buf+2, skb->data, skb->len);
|
||||
skb_copy_from_linear_data(skb, buf + 2, skb->len);
|
||||
/* put the fcs in last two bytes in little endian order. */
|
||||
buf[len - 2] = fcs & 0xff;
|
||||
buf[len - 1] = (fcs >> 8) & 0xff;
|
||||
|
@@ -1466,9 +1466,8 @@ static int nsc_ircc_hard_xmit_fir(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
self->stats.tx_bytes += skb->len;
|
||||
|
||||
memcpy(self->tx_fifo.queue[self->tx_fifo.free].start, skb->data,
|
||||
skb->len);
|
||||
|
||||
skb_copy_from_linear_data(skb, self->tx_fifo.queue[self->tx_fifo.free].start,
|
||||
skb->len);
|
||||
self->tx_fifo.len++;
|
||||
self->tx_fifo.free++;
|
||||
|
||||
|
@@ -484,7 +484,7 @@ static int pxa_irda_hard_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
unsigned long mtt = irda_get_mtt(skb);
|
||||
|
||||
si->dma_tx_buff_len = skb->len;
|
||||
memcpy(si->dma_tx_buff, skb->data, skb->len);
|
||||
skb_copy_from_linear_data(skb, si->dma_tx_buff, skb->len);
|
||||
|
||||
if (mtt)
|
||||
while ((unsigned)(OSCR - si->last_oscr)/4 < mtt)
|
||||
|
@@ -1162,7 +1162,7 @@ static int smsc_ircc_hard_xmit_fir(struct sk_buff *skb, struct net_device *dev)
|
||||
self->new_speed = speed;
|
||||
}
|
||||
|
||||
memcpy(self->tx_buff.head, skb->data, skb->len);
|
||||
skb_copy_from_linear_data(skb, self->tx_buff.head, skb->len);
|
||||
|
||||
self->tx_buff.len = skb->len;
|
||||
self->tx_buff.data = self->tx_buff.head;
|
||||
|
@@ -925,8 +925,8 @@ static int via_ircc_hard_xmit_fir(struct sk_buff *skb,
|
||||
|
||||
self->tx_fifo.tail += skb->len;
|
||||
self->stats.tx_bytes += skb->len;
|
||||
memcpy(self->tx_fifo.queue[self->tx_fifo.free].start, skb->data,
|
||||
skb->len);
|
||||
skb_copy_from_linear_data(skb,
|
||||
self->tx_fifo.queue[self->tx_fifo.free].start, skb->len);
|
||||
self->tx_fifo.len++;
|
||||
self->tx_fifo.free++;
|
||||
//F01 if (self->tx_fifo.len == 1) {
|
||||
|
@@ -993,7 +993,7 @@ static int vlsi_hard_start_xmit(struct sk_buff *skb, struct net_device *ndev)
|
||||
goto drop;
|
||||
}
|
||||
else
|
||||
memcpy(rd->buf, skb->data, len);
|
||||
skb_copy_from_linear_data(skb, rd->buf, len);
|
||||
}
|
||||
|
||||
rd->skb = skb; /* remember skb for tx-complete stats */
|
||||
|
@@ -529,7 +529,7 @@ int w83977af_hard_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
/* Decide if we should use PIO or DMA transfer */
|
||||
if (self->io.speed > PIO_MAX_SPEED) {
|
||||
self->tx_buff.data = self->tx_buff.head;
|
||||
memcpy(self->tx_buff.data, skb->data, skb->len);
|
||||
skb_copy_from_linear_data(skb, self->tx_buff.data, skb->len);
|
||||
self->tx_buff.len = skb->len;
|
||||
|
||||
mtt = irda_get_mtt(skb);
|
||||
|
Reference in New Issue
Block a user