aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/net
diff options
context:
space:
mode:
authorUrsula Braun <braunu@de.ibm.com>2007-06-20 06:56:49 -0400
committerJeff Garzik <jeff@garzik.org>2007-06-20 19:12:42 -0400
commitd81ef0fb76ef2eb7126f64cb34217d2ddfb48483 (patch)
tree80bd2a306d9f234d7868c899cf190cce7e47d30e /drivers/s390/net
parentd78f6642bea3b8f064dcb9a17db58593ef8cc0fb (diff)
s390: qeth driver does not recover
While first recovery continues, the card issues a STARTLAN command itself. In this case qeth schedules another recovery. This second recovery is cancelled because of an already running first recovery. Stop first recovery in case of 0xe080. Signed-off-by: Ursula Braun <braunu@de.ibm.com> Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r--drivers/s390/net/qeth_main.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c
index ea2fd980cb45..c5a95079b5ed 100644
--- a/drivers/s390/net/qeth_main.c
+++ b/drivers/s390/net/qeth_main.c
@@ -986,15 +986,15 @@ qeth_recover(void *ptr)
986 card->use_hard_stop = 1; 986 card->use_hard_stop = 1;
987 __qeth_set_offline(card->gdev,1); 987 __qeth_set_offline(card->gdev,1);
988 rc = __qeth_set_online(card->gdev,1); 988 rc = __qeth_set_online(card->gdev,1);
989 /* don't run another scheduled recovery */
990 qeth_clear_thread_start_bit(card, QETH_RECOVER_THREAD);
991 qeth_clear_thread_running_bit(card, QETH_RECOVER_THREAD);
989 if (!rc) 992 if (!rc)
990 PRINT_INFO("Device %s successfully recovered!\n", 993 PRINT_INFO("Device %s successfully recovered!\n",
991 CARD_BUS_ID(card)); 994 CARD_BUS_ID(card));
992 else 995 else
993 PRINT_INFO("Device %s could not be recovered!\n", 996 PRINT_INFO("Device %s could not be recovered!\n",
994 CARD_BUS_ID(card)); 997 CARD_BUS_ID(card));
995 /* don't run another scheduled recovery */
996 qeth_clear_thread_start_bit(card, QETH_RECOVER_THREAD);
997 qeth_clear_thread_running_bit(card, QETH_RECOVER_THREAD);
998 return 0; 998 return 0;
999} 999}
1000 1000
@@ -7476,11 +7476,11 @@ qeth_softsetup_card(struct qeth_card *card)
7476 QETH_DBF_TEXT_(setup, 2, "1err%d", rc); 7476 QETH_DBF_TEXT_(setup, 2, "1err%d", rc);
7477 if (rc == 0xe080){ 7477 if (rc == 0xe080){
7478 PRINT_WARN("LAN on card %s if offline! " 7478 PRINT_WARN("LAN on card %s if offline! "
7479 "Continuing softsetup.\n", 7479 "Waiting for STARTLAN from card.\n",
7480 CARD_BUS_ID(card)); 7480 CARD_BUS_ID(card));
7481 card->lan_online = 0; 7481 card->lan_online = 0;
7482 } else 7482 }
7483 return rc; 7483 return rc;
7484 } else 7484 } else
7485 card->lan_online = 1; 7485 card->lan_online = 1;
7486 if (card->info.type==QETH_CARD_TYPE_OSN) 7486 if (card->info.type==QETH_CARD_TYPE_OSN)