[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
@@ -930,7 +930,7 @@ static int scc_send_packet(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
/* Transfer data to DMA buffer */
|
||||
i = priv->tx_head;
|
||||
memcpy(priv->tx_buf[i], skb->data + 1, skb->len - 1);
|
||||
skb_copy_from_linear_data_offset(skb, 1, priv->tx_buf[i], skb->len - 1);
|
||||
priv->tx_len[i] = skb->len - 1;
|
||||
|
||||
/* Clear interrupts while we touch our circular buffers */
|
||||
|
@@ -317,7 +317,9 @@ void hdlcdrv_transmitter(struct net_device *dev, struct hdlcdrv_state *s)
|
||||
dev_kfree_skb_irq(skb);
|
||||
break;
|
||||
}
|
||||
memcpy(s->hdlctx.buffer, skb->data+1, pkt_len);
|
||||
skb_copy_from_linear_data_offset(skb, 1,
|
||||
s->hdlctx.buffer,
|
||||
pkt_len);
|
||||
dev_kfree_skb_irq(skb);
|
||||
s->hdlctx.bp = s->hdlctx.buffer;
|
||||
append_crc_ccitt(s->hdlctx.buffer, pkt_len);
|
||||
|
@@ -638,7 +638,9 @@ static void yam_tx_byte(struct net_device *dev, struct yam_port *yp)
|
||||
dev_kfree_skb_any(skb);
|
||||
break;
|
||||
}
|
||||
memcpy(yp->tx_buf, skb->data + 1, yp->tx_len);
|
||||
skb_copy_from_linear_data_offset(skb->data, 1,
|
||||
yp->tx_buf,
|
||||
yp->tx_len);
|
||||
dev_kfree_skb_any(skb);
|
||||
yp->tx_count = 0;
|
||||
yp->tx_crcl = 0x21;
|
||||
|
Reference in New Issue
Block a user