summaryrefslogtreecommitdiff
path: root/drivers/s390
diff options
context:
space:
mode:
authorKlaus-Dieter Wacker <kdwacker@de.ibm.com>2009-03-24 20:57:17 (GMT)
committerDavid S. Miller <davem@davemloft.net>2009-03-25 07:06:22 (GMT)
commit932e1583c1e52de6757122b92511e69ee0da1c78 (patch)
tree7a8405ddf66da920fed0398d4de073013592ed04 /drivers/s390
parent64ef8957986f6a04f61e7c95fa6ffeb3a86a6661 (diff)
downloadlinux-932e1583c1e52de6757122b92511e69ee0da1c78.tar.xz
qeth: unregister MAC addresses during recovery.
qeth: Unregister MAC addresses from device (layer 2) during recovery cycle. When the device is set online the MAC addresses are registered again on the device. Signed-off-by: Klaus-Dieter Wacker <kdwacker@de.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390')
-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 9e628b3..ecd7efc 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)
dev_close(card->dev);
rtnl_unlock();
}
- if (!card->use_hard_stop) {
+ if (!card->use_hard_stop ||
+ recovery_mode) {
__u8 *mac = &card->dev->dev_addr[0];
rc = qeth_l2_send_delmac(card, mac);
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)
}
if (card->state == CARD_STATE_SOFTSETUP) {
qeth_l2_process_vlans(card, 1);
- if (!card->use_hard_stop)
+ if (!card->use_hard_stop ||
+ recovery_mode)
qeth_l2_del_all_mc(card);
qeth_clear_ipacmd_list(card);
card->state = CARD_STATE_HARDSETUP;