diff options
-rw-r--r-- | drivers/s390/net/qeth_l2_main.c | 6 |
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; |