Skip to content

Commit

Permalink
qeth: recognize vlan devices in layer3 mode
Browse files Browse the repository at this point in the history
The qeth layer3 driver is notified about IP address changes.
Changes concerning qeth driven network interfaces have to be
forwarded to the OSA-card. This includes IP addresses of VLAN
interfaces with a qeth device as base device. Function
qeth_l3_verify_vlan_dev() determines if the net_device of the
IP event belongs to a vlan device belonging to a qeth device
as real device. This function is broken starting with commit
7ff0bcf , which means IP
addresses of VLAN devices are no longer set at the base qeth
device. The patch repairs function qeth_l3_verify_vlan_dev().

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
frank.blaschka@de.ibm.com authored and David S. Miller committed May 16, 2012
1 parent a8f40f7 commit 6d8823d
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/s390/net/qeth_l3_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2073,7 +2073,7 @@ static int qeth_l3_verify_vlan_dev(struct net_device *dev,
struct net_device *netdev;

rcu_read_lock();
netdev = __vlan_find_dev_deep(dev, vid);
netdev = __vlan_find_dev_deep(card->dev, vid);
rcu_read_unlock();
if (netdev == dev) {
rc = QETH_VLAN_CARD;
Expand Down Expand Up @@ -3602,9 +3602,9 @@ static int qeth_l3_ip_event(struct notifier_block *this,
return NOTIFY_DONE;

card = qeth_l3_get_card_from_dev(dev);
QETH_CARD_TEXT(card, 3, "ipevent");
if (!card)
return NOTIFY_DONE;
QETH_CARD_TEXT(card, 3, "ipevent");

addr = qeth_l3_get_addr_buffer(QETH_PROT_IPV4);
if (addr != NULL) {
Expand Down

0 comments on commit 6d8823d

Please sign in to comment.