diff options
Diffstat (limited to 'net/irda/wrapper.c')
-rw-r--r-- | net/irda/wrapper.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/irda/wrapper.c b/net/irda/wrapper.c index 5abfb71aae8d..a7a7f191f1a8 100644 --- a/net/irda/wrapper.c +++ b/net/irda/wrapper.c | |||
@@ -239,7 +239,8 @@ async_bump(struct net_device *dev, | |||
239 | 239 | ||
240 | if(docopy) { | 240 | if(docopy) { |
241 | /* Copy data without CRC (lenght already checked) */ | 241 | /* Copy data without CRC (lenght already checked) */ |
242 | memcpy(newskb->data, rx_buff->data, rx_buff->len - 2); | 242 | skb_copy_to_linear_data(newskb, rx_buff->data, |
243 | rx_buff->len - 2); | ||
243 | /* Deliver this skb */ | 244 | /* Deliver this skb */ |
244 | dataskb = newskb; | 245 | dataskb = newskb; |
245 | } else { | 246 | } else { |
@@ -256,7 +257,7 @@ async_bump(struct net_device *dev, | |||
256 | 257 | ||
257 | /* Feed it to IrLAP layer */ | 258 | /* Feed it to IrLAP layer */ |
258 | dataskb->dev = dev; | 259 | dataskb->dev = dev; |
259 | dataskb->mac.raw = dataskb->data; | 260 | skb_reset_mac_header(dataskb); |
260 | dataskb->protocol = htons(ETH_P_IRDA); | 261 | dataskb->protocol = htons(ETH_P_IRDA); |
261 | 262 | ||
262 | netif_rx(dataskb); | 263 | netif_rx(dataskb); |