aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/i4l
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2007-03-27 17:55:52 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 01:28:23 -0400
commitd626f62b11e00c16e81e4308ab93d3f13551812a (patch)
treefac4af6ced853755e12fc709d55f0c2bec51265d /drivers/isdn/i4l
parent2a123b86e2b242a4a6db990d2851d45e192f88e5 (diff)
[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>
Diffstat (limited to 'drivers/isdn/i4l')
-rw-r--r--drivers/isdn/i4l/isdn_common.c2
-rw-r--r--drivers/isdn/i4l/isdn_ppp.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c
index 9c926e41b114..c97330b19877 100644
--- a/drivers/isdn/i4l/isdn_common.c
+++ b/drivers/isdn/i4l/isdn_common.c
@@ -829,7 +829,7 @@ isdn_readbchan(int di, int channel, u_char * buf, u_char * fp, int len, wait_que
829 dflag = 0; 829 dflag = 0;
830 } 830 }
831 count_put = count_pull; 831 count_put = count_pull;
832 memcpy(cp, skb->data, count_put); 832 skb_copy_from_linear_data(skb, cp, count_put);
833 cp += count_put; 833 cp += count_put;
834 len -= count_put; 834 len -= count_put;
835#ifdef CONFIG_ISDN_AUDIO 835#ifdef CONFIG_ISDN_AUDIO
diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c
index be915051cb2e..387392cb3d68 100644
--- a/drivers/isdn/i4l/isdn_ppp.c
+++ b/drivers/isdn/i4l/isdn_ppp.c
@@ -1100,7 +1100,8 @@ isdn_ppp_push_higher(isdn_net_dev * net_dev, isdn_net_local * lp, struct sk_buff
1100 goto drop_packet; 1100 goto drop_packet;
1101 } 1101 }
1102 skb_put(skb, skb_old->len + 128); 1102 skb_put(skb, skb_old->len + 128);
1103 memcpy(skb->data, skb_old->data, skb_old->len); 1103 skb_copy_from_linear_data(skb_old, skb->data,
1104 skb_old->len);
1104 if (net_dev->local->ppp_slot < 0) { 1105 if (net_dev->local->ppp_slot < 0) {
1105 printk(KERN_ERR "%s: net_dev->local->ppp_slot(%d) out of range\n", 1106 printk(KERN_ERR "%s: net_dev->local->ppp_slot(%d) out of range\n",
1106 __FUNCTION__, net_dev->local->ppp_slot); 1107 __FUNCTION__, net_dev->local->ppp_slot);
@@ -1902,7 +1903,9 @@ void isdn_ppp_mp_reassembly( isdn_net_dev * net_dev, isdn_net_local * lp,
1902 while( from != to ) { 1903 while( from != to ) {
1903 unsigned int len = from->len - MP_HEADER_LEN; 1904 unsigned int len = from->len - MP_HEADER_LEN;
1904 1905
1905 memcpy(skb_put(skb,len), from->data+MP_HEADER_LEN, len); 1906 skb_copy_from_linear_data_offset(from, MP_HEADER_LEN,
1907 skb_put(skb,len),
1908 len);
1906 frag = from->next; 1909 frag = from->next;
1907 isdn_ppp_mp_free_skb(mp, from); 1910 isdn_ppp_mp_free_skb(mp, from);
1908 from = frag; 1911 from = frag;