diff options
Diffstat (limited to 'drivers/isdn/isdnloop')
-rw-r--r-- | drivers/isdn/isdnloop/isdnloop.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/isdn/isdnloop/isdnloop.c b/drivers/isdn/isdnloop/isdnloop.c index e3add27dd0e1..e93ad59f60bf 100644 --- a/drivers/isdn/isdnloop/isdnloop.c +++ b/drivers/isdn/isdnloop/isdnloop.c | |||
@@ -415,7 +415,8 @@ isdnloop_sendbuf(int channel, struct sk_buff *skb, isdnloop_card * card) | |||
415 | spin_lock_irqsave(&card->isdnloop_lock, flags); | 415 | spin_lock_irqsave(&card->isdnloop_lock, flags); |
416 | nskb = dev_alloc_skb(skb->len); | 416 | nskb = dev_alloc_skb(skb->len); |
417 | if (nskb) { | 417 | if (nskb) { |
418 | memcpy(skb_put(nskb, len), skb->data, len); | 418 | skb_copy_from_linear_data(skb, |
419 | skb_put(nskb, len), len); | ||
419 | skb_queue_tail(&card->bqueue[channel], nskb); | 420 | skb_queue_tail(&card->bqueue[channel], nskb); |
420 | dev_kfree_skb(skb); | 421 | dev_kfree_skb(skb); |
421 | } else | 422 | } else |