aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/s390/net/qeth_l2_main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
index 9e628b322bd3..ecd7efc5e315 100644
--- a/drivers/s390/net/qeth_l2_main.c
+++ b/drivers/s390/net/qeth_l2_main.c
@@ -378,7 +378,8 @@ static int qeth_l2_stop_card(struct qeth_card *card, int recovery_mode)
378 dev_close(card->dev); 378 dev_close(card->dev);
379 rtnl_unlock(); 379 rtnl_unlock();
380 } 380 }
381 if (!card->use_hard_stop) { 381 if (!card->use_hard_stop ||
382 recovery_mode) {
382 __u8 *mac = &card->dev->dev_addr[0]; 383 __u8 *mac = &card->dev->dev_addr[0];
383 rc = qeth_l2_send_delmac(card, mac); 384 rc = qeth_l2_send_delmac(card, mac);
384 QETH_DBF_TEXT_(SETUP, 2, "Lerr%d", rc); 385 QETH_DBF_TEXT_(SETUP, 2, "Lerr%d", rc);
@@ -387,7 +388,8 @@ static int qeth_l2_stop_card(struct qeth_card *card, int recovery_mode)
387 } 388 }
388 if (card->state == CARD_STATE_SOFTSETUP) { 389 if (card->state == CARD_STATE_SOFTSETUP) {
389 qeth_l2_process_vlans(card, 1); 390 qeth_l2_process_vlans(card, 1);
390 if (!card->use_hard_stop) 391 if (!card->use_hard_stop ||
392 recovery_mode)
391 qeth_l2_del_all_mc(card); 393 qeth_l2_del_all_mc(card);
392 qeth_clear_ipacmd_list(card); 394 qeth_clear_ipacmd_list(card);
393 card->state = CARD_STATE_HARDSETUP; 395 card->state = CARD_STATE_HARDSETUP;