X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2F802%2Fpsnap.c;h=270b9d2cae6589b983f9925ee728370aec74cec7;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=1053821ddf933c922f01e5e8a9733046b0e64676;hpb=6a77f38946aaee1cd85eeec6cf4229b204c15071;p=linux-2.6.git diff --git a/net/802/psnap.c b/net/802/psnap.c index 1053821dd..270b9d2ca 100644 --- a/net/802/psnap.c +++ b/net/802/psnap.c @@ -47,7 +47,7 @@ static struct datalink_proto *find_snap_client(unsigned char *desc) * A SNAP packet has arrived */ static int snap_rcv(struct sk_buff *skb, struct net_device *dev, - struct packet_type *pt) + struct packet_type *pt, struct net_device *orig_dev) { int rc = 1; struct datalink_proto *proto; @@ -60,8 +60,8 @@ static int snap_rcv(struct sk_buff *skb, struct net_device *dev, if (proto) { /* Pass the frame on. */ skb->h.raw += 5; - skb_pull(skb, 5); - rc = proto->rcvfunc(skb, dev, &snap_packet_type); + skb_pull_rcsum(skb, 5); + rc = proto->rcvfunc(skb, dev, &snap_packet_type, orig_dev); } else { skb->sk = NULL; kfree_skb(skb); @@ -106,7 +106,7 @@ module_init(snap_init); static void __exit snap_exit(void) { - llc_sap_close(snap_sap); + llc_sap_put(snap_sap); } module_exit(snap_exit); @@ -118,7 +118,8 @@ module_exit(snap_exit); struct datalink_proto *register_snap_client(unsigned char *desc, int (*rcvfunc)(struct sk_buff *, struct net_device *, - struct packet_type *)) + struct packet_type *, + struct net_device *)) { struct datalink_proto *proto = NULL;