|
@@ -1659,7 +1659,8 @@ static void qeth_l3_add_vlan_mc(struct qeth_card *card)
|
|
|
for_each_set_bit(vid, card->active_vlans, VLAN_N_VID) {
|
|
|
struct net_device *netdev;
|
|
|
|
|
|
- netdev = __vlan_find_dev_deep(card->dev, vid);
|
|
|
+ netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q),
|
|
|
+ vid);
|
|
|
if (netdev == NULL ||
|
|
|
!(netdev->flags & IFF_UP))
|
|
|
continue;
|
|
@@ -1720,7 +1721,8 @@ static void qeth_l3_add_vlan_mc6(struct qeth_card *card)
|
|
|
for_each_set_bit(vid, card->active_vlans, VLAN_N_VID) {
|
|
|
struct net_device *netdev;
|
|
|
|
|
|
- netdev = __vlan_find_dev_deep(card->dev, vid);
|
|
|
+ netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q),
|
|
|
+ vid);
|
|
|
if (netdev == NULL ||
|
|
|
!(netdev->flags & IFF_UP))
|
|
|
continue;
|
|
@@ -1764,7 +1766,7 @@ static void qeth_l3_free_vlan_addresses4(struct qeth_card *card,
|
|
|
|
|
|
QETH_CARD_TEXT(card, 4, "frvaddr4");
|
|
|
|
|
|
- netdev = __vlan_find_dev_deep(card->dev, vid);
|
|
|
+ netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q), vid);
|
|
|
if (!netdev)
|
|
|
return;
|
|
|
in_dev = in_dev_get(netdev);
|
|
@@ -1794,7 +1796,7 @@ static void qeth_l3_free_vlan_addresses6(struct qeth_card *card,
|
|
|
|
|
|
QETH_CARD_TEXT(card, 4, "frvaddr6");
|
|
|
|
|
|
- netdev = __vlan_find_dev_deep(card->dev, vid);
|
|
|
+ netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q), vid);
|
|
|
if (!netdev)
|
|
|
return;
|
|
|
in6_dev = in6_dev_get(netdev);
|
|
@@ -1977,7 +1979,8 @@ static int qeth_l3_process_inbound_buffer(struct qeth_card *card,
|
|
|
&vlan_tag);
|
|
|
len = skb->len;
|
|
|
if (is_vlan && !card->options.sniffer)
|
|
|
- __vlan_hwaccel_put_tag(skb, vlan_tag);
|
|
|
+ __vlan_hwaccel_put_tag(skb,
|
|
|
+ htons(ETH_P_8021Q), vlan_tag);
|
|
|
napi_gro_receive(&card->napi, skb);
|
|
|
}
|
|
|
break;
|
|
@@ -2086,7 +2089,8 @@ static int qeth_l3_verify_vlan_dev(struct net_device *dev,
|
|
|
struct net_device *netdev;
|
|
|
|
|
|
rcu_read_lock();
|
|
|
- netdev = __vlan_find_dev_deep(card->dev, vid);
|
|
|
+ netdev = __vlan_find_dev_deep(card->dev, htons(ETH_P_8021Q),
|
|
|
+ vid);
|
|
|
rcu_read_unlock();
|
|
|
if (netdev == dev) {
|
|
|
rc = QETH_VLAN_CARD;
|