diff options
Diffstat (limited to 'net/sched/sch_atm.c')
-rw-r--r-- | net/sched/sch_atm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sched/sch_atm.c b/net/sched/sch_atm.c index afb3bbd571f2..baca8743c12b 100644 --- a/net/sched/sch_atm.c +++ b/net/sched/sch_atm.c | |||
@@ -503,7 +503,7 @@ static void sch_atm_dequeue(unsigned long data) | |||
503 | } | 503 | } |
504 | D2PRINTK("atm_tc_dequeue: sending on class %p\n",flow); | 504 | D2PRINTK("atm_tc_dequeue: sending on class %p\n",flow); |
505 | /* remove any LL header somebody else has attached */ | 505 | /* remove any LL header somebody else has attached */ |
506 | skb_pull(skb,(char *) skb->nh.iph-(char *) skb->data); | 506 | skb_pull(skb, skb_network_offset(skb)); |
507 | if (skb_headroom(skb) < flow->hdr_len) { | 507 | if (skb_headroom(skb) < flow->hdr_len) { |
508 | struct sk_buff *new; | 508 | struct sk_buff *new; |
509 | 509 | ||
@@ -513,7 +513,7 @@ static void sch_atm_dequeue(unsigned long data) | |||
513 | skb = new; | 513 | skb = new; |
514 | } | 514 | } |
515 | D2PRINTK("sch_atm_dequeue: ip %p, data %p\n", | 515 | D2PRINTK("sch_atm_dequeue: ip %p, data %p\n", |
516 | skb->nh.iph,skb->data); | 516 | skb_network_header(skb), skb->data); |
517 | ATM_SKB(skb)->vcc = flow->vcc; | 517 | ATM_SKB(skb)->vcc = flow->vcc; |
518 | memcpy(skb_push(skb,flow->hdr_len),flow->hdr, | 518 | memcpy(skb_push(skb,flow->hdr_len),flow->hdr, |
519 | flow->hdr_len); | 519 | flow->hdr_len); |