diff options
author | Julian Wiedmann <jwi@linux.vnet.ibm.com> | 2017-12-13 18:56:30 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-12-15 17:29:43 +0100 |
commit | b22d73d6689fd902a66c08ebe71ab2f3b351e22f (patch) | |
tree | 75d8eb5b090ec93229ccfe143eeecdf9701b4a79 /drivers/s390/net/qeth_l3_sys.c | |
parent | s390/qeth: apply takeover changes when mode is toggled (diff) | |
download | linux-b22d73d6689fd902a66c08ebe71ab2f3b351e22f.tar.xz linux-b22d73d6689fd902a66c08ebe71ab2f3b351e22f.zip |
s390/qeth: don't apply takeover changes to RXIP
When takeover is switched off, current code clears the 'TAKEOVER' flag on
all IPs. But the flag is also used for RXIP addresses, and those should
not be affected by the takeover mode.
Fix the behaviour by consistenly applying takover logic to NORMAL
addresses only.
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net/qeth_l3_sys.c')
-rw-r--r-- | drivers/s390/net/qeth_l3_sys.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/s390/net/qeth_l3_sys.c b/drivers/s390/net/qeth_l3_sys.c index 198717f71b3d..e256928092e5 100644 --- a/drivers/s390/net/qeth_l3_sys.c +++ b/drivers/s390/net/qeth_l3_sys.c @@ -396,10 +396,11 @@ static ssize_t qeth_l3_dev_ipato_enable_store(struct device *dev, card->ipato.enabled = enable; hash_for_each(card->ip_htable, i, addr, hnode) { + if (addr->type != QETH_IP_TYPE_NORMAL) + continue; if (!enable) addr->set_flags &= ~QETH_IPA_SETIP_TAKEOVER_FLAG; - else if (addr->type == QETH_IP_TYPE_NORMAL && - qeth_l3_is_addr_covered_by_ipato(card, addr)) + else if (qeth_l3_is_addr_covered_by_ipato(card, addr)) addr->set_flags |= QETH_IPA_SETIP_TAKEOVER_FLAG; } out: |