|
@@ -176,7 +176,8 @@ static void pppoatm_push(struct atm_vcc *atmvcc, struct sk_buff *skb)
|
|
}
|
|
}
|
|
ppp_input(&pvcc->chan, skb);
|
|
ppp_input(&pvcc->chan, skb);
|
|
return;
|
|
return;
|
|
- error:
|
|
|
|
|
|
+
|
|
|
|
+error:
|
|
kfree_skb(skb);
|
|
kfree_skb(skb);
|
|
ppp_input_error(&pvcc->chan, 0);
|
|
ppp_input_error(&pvcc->chan, 0);
|
|
}
|
|
}
|
|
@@ -209,7 +210,8 @@ static int pppoatm_send(struct ppp_channel *chan, struct sk_buff *skb)
|
|
goto nospace;
|
|
goto nospace;
|
|
}
|
|
}
|
|
kfree_skb(skb);
|
|
kfree_skb(skb);
|
|
- if ((skb = n) == NULL)
|
|
|
|
|
|
+ skb = n;
|
|
|
|
+ if (skb == NULL)
|
|
return DROP_PACKET;
|
|
return DROP_PACKET;
|
|
} else if (!atm_may_send(pvcc->atmvcc, skb->truesize))
|
|
} else if (!atm_may_send(pvcc->atmvcc, skb->truesize))
|
|
goto nospace;
|
|
goto nospace;
|
|
@@ -231,7 +233,7 @@ static int pppoatm_send(struct ppp_channel *chan, struct sk_buff *skb)
|
|
skb, ATM_SKB(skb)->vcc, ATM_SKB(skb)->vcc->dev);
|
|
skb, ATM_SKB(skb)->vcc, ATM_SKB(skb)->vcc->dev);
|
|
return ATM_SKB(skb)->vcc->send(ATM_SKB(skb)->vcc, skb)
|
|
return ATM_SKB(skb)->vcc->send(ATM_SKB(skb)->vcc, skb)
|
|
? DROP_PACKET : 1;
|
|
? DROP_PACKET : 1;
|
|
- nospace:
|
|
|
|
|
|
+nospace:
|
|
/*
|
|
/*
|
|
* We don't have space to send this SKB now, but we might have
|
|
* We don't have space to send this SKB now, but we might have
|
|
* already applied SC_COMP_PROT compression, so may need to undo
|
|
* already applied SC_COMP_PROT compression, so may need to undo
|
|
@@ -290,7 +292,8 @@ static int pppoatm_assign_vcc(struct atm_vcc *atmvcc, void __user *arg)
|
|
(be.encaps == e_vc ? 0 : LLC_LEN);
|
|
(be.encaps == e_vc ? 0 : LLC_LEN);
|
|
pvcc->wakeup_tasklet = tasklet_proto;
|
|
pvcc->wakeup_tasklet = tasklet_proto;
|
|
pvcc->wakeup_tasklet.data = (unsigned long) &pvcc->chan;
|
|
pvcc->wakeup_tasklet.data = (unsigned long) &pvcc->chan;
|
|
- if ((err = ppp_register_channel(&pvcc->chan)) != 0) {
|
|
|
|
|
|
+ err = ppp_register_channel(&pvcc->chan);
|
|
|
|
+ if (err != 0) {
|
|
kfree(pvcc);
|
|
kfree(pvcc);
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|