s390/qeth: only init the isolation mode when necessary
authorJulian Wiedmann <jwi@linux.ibm.com>
Tue, 14 Jul 2020 14:22:58 +0000 (16:22 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jul 2020 21:53:45 +0000 (14:53 -0700)
A newly initialized device defaults to ISOLATION_MODE_NONE, don't bother
with programming this a second time.

Then remove the OSD/OSX check, it's already done in the sysfs path
whenever the user actually changes the configuration.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_core_main.c

index 7d51be6665cc14763dcd078f056230df6c0f7ece..514795c5eaadf2d8544b8b4e4d5d14ce651374fd 100644 (file)
@@ -4663,8 +4663,7 @@ int qeth_set_access_ctrl_online(struct qeth_card *card, int fallback)
 
        QETH_CARD_TEXT(card, 4, "setactlo");
 
-       if ((IS_OSD(card) || IS_OSX(card)) &&
-           qeth_adp_supported(card, IPA_SETADP_SET_ACCESS_CONTROL)) {
+       if (qeth_adp_supported(card, IPA_SETADP_SET_ACCESS_CONTROL)) {
                rc = qeth_setadpparms_set_access_ctrl(card,
                        card->options.isolation, fallback);
                if (rc) {
@@ -5347,9 +5346,11 @@ retriable:
            (card->info.hwtrap && qeth_hw_trap(card, QETH_DIAGS_TRAP_ARM)))
                card->info.hwtrap = 0;
 
-       rc = qeth_set_access_ctrl_online(card, 0);
-       if (rc)
-               goto out;
+       if (card->options.isolation != ISOLATION_MODE_NONE) {
+               rc = qeth_set_access_ctrl_online(card, 0);
+               if (rc)
+                       goto out;
+       }
 
        rc = qeth_init_qdio_queues(card);
        if (rc) {