]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
s390/qeth: Fix vnicc_is_in_use if rx_bcast not set
authorAlexandra Winter <wintera@linux.ibm.com>
Mon, 23 Dec 2019 14:03:24 +0000 (15:03 +0100)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 14 Feb 2020 05:29:37 +0000 (00:29 -0500)
BugLink: https://bugs.launchpad.net/bugs/1861934
commit e8a66d800471e2df7f0b484e2e46898b21d1fa82 upstream.

Symptom: After vnicc/rx_bcast has been manually set to 0,
bridge_* sysfs parameters can still be set or written.
Only occurs on HiperSockets, as OSA doesn't support changing rx_bcast.

Vnic characteristics and bridgeport settings are mutually exclusive.
rx_bcast defaults to 1, so manually setting it to 0 should disable
bridge_* parameters.

Instead it makes sense here to check the supported mask. If the card
does not support vnicc at all, bridge commands are always allowed.

Fixes: caa1f0b10d18 ("s390/qeth: add VNICC enable/disable support")
Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/s390/net/qeth_l2_main.c

index e92b813ba7717e72fc2557b362ea94c07bbf88ec..d86a1fed9696a694f06b9bc45ccf8555f452889c 100644 (file)
@@ -2371,8 +2371,7 @@ int qeth_l2_vnicc_get_timeout(struct qeth_card *card, u32 *timeout)
 /* check if VNICC is currently enabled */
 bool qeth_l2_vnicc_is_in_use(struct qeth_card *card)
 {
-       /* if everything is turned off, VNICC is not active */
-       if (!card->options.vnicc.cur_chars)
+       if (!card->options.vnicc.sup_chars)
                return false;
        /* default values are only OK if rx_bcast was not enabled by user
         * or the card is offline.