static int __pppoe_xmit(struct sock *sk, struct sk_buff *skb);
static struct proto_ops pppoe_ops;
-static rwlock_t pppoe_hash_lock = RW_LOCK_UNLOCKED;
+static DEFINE_RWLOCK(pppoe_hash_lock);
static struct ppp_channel_ops pppoe_chan_ops;
ph = (struct pppoe_hdr *) skb->nh.raw;
- po = get_item((unsigned long) ph->sid, skb->mac.ethernet->h_source);
+ po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source);
if (!po)
goto drop;
if (ph->code != PADT_CODE)
goto abort;
- po = get_item((unsigned long) ph->sid, skb->mac.ethernet->h_source);
+ po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source);
if (po) {
struct sock *sk = po->sk;