qeth: new message if OLM limit is reached
authorUrsula Braun <ursula.braun@de.ibm.com>
Tue, 11 May 2010 19:34:46 +0000 (19:34 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 16 May 2010 07:50:11 +0000 (00:50 -0700)
z/OS may activate Optimized Latency Mode (OLM) for a connection
through an OSA Express3 adapter, which reduces the number of
allowed concurrent connections, if adapter is used in shared mode.
Create a meaningful message, if activation of an OSA-connection fails
due to an active OLM-connection on the shared OSA-adapter.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_core_main.c

index 3ba738b2e27117eb4c932143fffedce377919df1..52096c9194f090f4816b1067ddf7a9d10e657cbd 100644 (file)
@@ -1976,6 +1976,7 @@ static int qeth_ulp_setup_cb(struct qeth_card *card, struct qeth_reply *reply,
                unsigned long data)
 {
        struct qeth_cmd_buffer *iob;
+       int rc = 0;
 
        QETH_DBF_TEXT(SETUP, 2, "ulpstpcb");
 
@@ -1983,8 +1984,15 @@ static int qeth_ulp_setup_cb(struct qeth_card *card, struct qeth_reply *reply,
        memcpy(&card->token.ulp_connection_r,
               QETH_ULP_SETUP_RESP_CONNECTION_TOKEN(iob->data),
               QETH_MPC_TOKEN_LENGTH);
+       if (!strncmp("00S", QETH_ULP_SETUP_RESP_CONNECTION_TOKEN(iob->data),
+                    3)) {
+               QETH_DBF_TEXT(SETUP, 2, "olmlimit");
+               dev_err(&card->gdev->dev, "A connection could not be "
+                       "established because of an OLM limit\n");
+               rc = -EMLINK;
+       }
        QETH_DBF_TEXT_(SETUP, 2, "  rc%d", iob->rc);
-       return 0;
+       return rc;
 }
 
 static int qeth_ulp_setup(struct qeth_card *card)