Message ID | 1580126944-30768-2-git-send-email-frank.heimes@canonical.com |
---|---|
State | New |
Headers | show |
Series | Fix misleading error message: Configuring the VNIC characteristics failed (LP: 1860523) | expand |
On Mon, Jan 27, 2020 at 02:09:03PM +0200, frank.heimes@canonical.com wrote: > From: Alexandra Winter <wintera@linux.ibm.com> > > BugLink: https://bugs.launchpad.net/bugs/1860523 > > commit 68c57bfd52836e31bff33e5e1fc64029749d2c35 upstream. > > Symptom: Error message "Configuring the VNIC characteristics failed" > in dmesg whenever an OSA interface on z15 is set online. > > The VNIC characteristics get re-programmed when setting a L2 device > online. This follows the selected 'wanted' characteristics - with the > exception that the INVISIBLE characteristic unconditionally gets > switched off. > > For devices that don't support INVISIBLE (ie. OSA), the resulting > IO failure raises a noisy error message > ("Configuring the VNIC characteristics failed"). > For IQD, INVISIBLE is off by default anyways. > > So don't unnecessarily special-case the INVISIBLE characteristic, and > thereby suppress the misleading error message on OSA devices. > > Fixes: caa1f0b10d18 ("s390/qeth: add VNICC enable/disable support") > > OriginalAuthor: Alexandra Winter <wintera@linux.ibm.com> > Signed-off-by: Alexandra Winter <wintera@linux.ibm.com> > Reviewed-by: Julian Wiedmann <jwi@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> > (backported from commit 68c57bfd52836e31bff33e5e1fc64029749d2c35) > [ frank-heimes: from 5.4-stable ] > Signed-off-by: Frank Heimes <frank.heimes@canonical.com> This has already been applied from 5.4 stable. Thanks!
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index 8b7d911..eee83b6 100644 --- a/drivers/s390/net/qeth_l2_main.c +++ b/drivers/s390/net/qeth_l2_main.c @@ -2072,7 +2072,6 @@ static void qeth_l2_vnicc_init(struct qeth_card *card) error |= qeth_l2_vnicc_recover_timeout(card, QETH_VNICC_LEARNING, timeout); chars_tmp = card->options.vnicc.wanted_chars ^ QETH_VNICC_DEFAULT; - chars_tmp |= QETH_VNICC_BRIDGE_INVISIBLE; chars_len = sizeof(card->options.vnicc.wanted_chars) * BITS_PER_BYTE; for_each_set_bit(i, &chars_tmp, chars_len) { vnicc = BIT(i);