blob: 3bcc85f98556dd38b8ccb70170ebf65fc9859929 [file] [log] [blame]
From 111e791a6b8ada5df81f854345bac47ee6cb94d1 Mon Sep 17 00:00:00 2001
From: Julian Wiedmann <>
Date: Mon, 23 Dec 2019 15:03:26 +0100
Subject: [PATCH] s390/qeth: fix initialization on old HW
commit 0b698c838e84149b690c7e979f78cccb6f8aa4b9 upstream.
I stumbled over an old OSA model that claims to support DIAG_ASSIST,
but then rejects the cmd to query its DIAG capabilities.
In the old code this was ok, as the returned raw error code was > 0.
Now that we translate the raw codes to errnos, the "rc < 0" causes us
to fail the initialization of the device.
The fix is trivial: don't bail out when the DIAG query fails. Such an
error is not critical, we can still use the device (with a slightly
reduced set of features).
Fixes: 742d4d40831d ("s390/qeth: convert remaining legacy cmd callbacks")
Signed-off-by: Julian Wiedmann <>
Signed-off-by: David S. Miller <>
Signed-off-by: Paul Gortmaker <>
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index 278444124adf..6fdbbbb6615a 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -5107,10 +5107,8 @@ int qeth_core_hardsetup_card(struct qeth_card *card, bool *carrier_ok)
if (qeth_adp_supported(card, IPA_SETADP_SET_DIAG_ASSIST)) {
rc = qeth_query_setdiagass(card);
- if (rc < 0) {
+ if (rc)
QETH_DBF_TEXT_(SETUP, 2, "8err%d", rc);
- goto out;
- }
return 0;