[patch 4/6] [PATCH] qeth: unregister MAC addresses during recovery.

frank.blaschka
2009-03-25T06:57:17Z

[-- Attachment #1: 609-qeth-unreg-macs.diff --]
[-- Type: text/plain, Size: 1348 bytes --]

From: Klaus-Dieter Wacker <kdwacker@de.ibm.com>

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>
---

drivers/s390/net/qeth_l2_main.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff -urpN linux-2.6/drivers/s390/net/qeth_l2_main.c linux-2.6-patched/drivers/s390/net/qeth_l2_main.c
--- linux-2.6/drivers/s390/net/qeth_l2_main.c 2009-02-18 12:06:32.000000000 +0100
+++ linux-2.6-patched/drivers/s390/net/qeth_l2_main.c 2009-02-18 12:06:32.000000000 +0100
@@ -378,7 +378,8 @@ static int qeth_l2_stop_card(struct qeth
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
}
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;