]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
1 | From: Gerald Schaefer <geraldsc@de.ibm.com> |
2 | Subject: qeth: unregister MAC addresses during recovery. | |
3 | References: bnc#484767,LTC#52200 | |
4 | ||
5 | Symptom: After thousands of recovery cycles no more MAC addresses are | |
6 | registered at z/VM GuestLAN adapter. | |
7 | Problem: MAC address table of GuestLAN adapter full. | |
8 | Solution: Unregister MAC addresses from device (layer 2) during | |
9 | recovery cycle. When the device is set online the MAC | |
10 | addresses are registered again on the device. | |
11 | ||
12 | Acked-by: John Jolly <jjolly@suse.de> | |
13 | --- | |
14 | Index: linux-sles11/drivers/s390/net/qeth_l2_main.c | |
15 | =================================================================== | |
16 | --- linux-sles11.orig/drivers/s390/net/qeth_l2_main.c | |
17 | +++ linux-sles11/drivers/s390/net/qeth_l2_main.c | |
18 | @@ -388,7 +388,8 @@ static int qeth_l2_stop_card(struct qeth | |
19 | dev_close(card->dev); | |
20 | rtnl_unlock(); | |
21 | } | |
22 | - if (!card->use_hard_stop) { | |
23 | + if (!card->use_hard_stop || | |
24 | + recovery_mode) { | |
25 | __u8 *mac = &card->dev->dev_addr[0]; | |
26 | rc = qeth_l2_send_delmac(card, mac); | |
27 | QETH_DBF_TEXT_(SETUP, 2, "Lerr%d", rc); | |
28 | @@ -397,7 +398,8 @@ static int qeth_l2_stop_card(struct qeth | |
29 | } | |
30 | if (card->state == CARD_STATE_SOFTSETUP) { | |
31 | qeth_l2_process_vlans(card, 1); | |
32 | - if (!card->use_hard_stop) | |
33 | + if (!card->use_hard_stop || | |
34 | + recovery_mode) | |
35 | qeth_l2_del_all_mc(card); | |
36 | qeth_clear_ipacmd_list(card); | |
37 | card->state = CARD_STATE_HARDSETUP; |