X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2F8021q%2Fvlan_dev.c;h=79b0262de54351d5dc3a2dcae3bacaa455e34004;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=460aabc09d2967758838eb938f0ef46d7879cc4b;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 460aabc09..79b0262de 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c @@ -211,7 +211,7 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev, * This allows the VLAN to have a different MAC than the underlying * device, and still route correctly. */ - if (memcmp(skb->mac.ethernet->h_dest, skb->dev->dev_addr, ETH_ALEN) == 0) { + if (memcmp(eth_hdr(skb)->h_dest, skb->dev->dev_addr, ETH_ALEN) == 0) { /* It is for our (changed) MAC-address! */ skb->pkt_type = PACKET_HOST; } @@ -244,7 +244,7 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev, /* TODO: Add a more specific counter here. */ stats->rx_errors++; } - rcu_read_lock(); + rcu_read_unlock(); return 0; } @@ -772,7 +772,7 @@ int vlan_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) case SIOCGMIIREG: case SIOCSMIIREG: if (real_dev->do_ioctl && netif_device_present(real_dev)) - err = real_dev->do_ioctl(dev, &ifrr, cmd); + err = real_dev->do_ioctl(real_dev, &ifrr, cmd); break; case SIOCETHTOOL: