X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fatm%2Fbr2684.c;h=f7955e643314b719989c491f6e2e5ed34a57b060;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=91a89d3a24f2d136ade222bfe26833acd2bae566;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/net/atm/br2684.c b/net/atm/br2684.c index 91a89d3a2..f7955e643 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c @@ -294,7 +294,7 @@ static inline unsigned short br_type_trans(struct sk_buff *skb, { struct ethhdr *eth; unsigned char *rawp; - eth = skb->mac.ethernet; + eth = eth_hdr(skb); if (*eth->h_dest & 1) { if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0) @@ -558,12 +558,12 @@ Note: we do not have explicit unassign, but look at _push() atmvcc->push = br2684_push; skb_queue_head_init(©); skb_migrate(&atmvcc->sk->sk_receive_queue, ©); - while ((skb = skb_dequeue(©))) { + while ((skb = skb_dequeue(©)) != NULL) { BRPRIV(skb->dev)->stats.rx_bytes -= skb->len; BRPRIV(skb->dev)->stats.rx_packets--; br2684_push(atmvcc, skb); } - (void) try_module_get(THIS_MODULE); + __module_get(THIS_MODULE); return 0; error: write_unlock_irq(&devs_lock);