diff options
author | Ursula Braun <braunu@de.ibm.com> | 2008-04-01 04:27:00 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-16 20:41:42 -0400 |
commit | 3caa4af834df519fda0f1ea6af4a5c7abfec98c7 (patch) | |
tree | 5b682b3d1328e743a6e860bc44f6ddd87072fa3f | |
parent | b403e685b7c57f7912bae36987433e72c616f418 (diff) |
qeth: keep ip-address after LAN_OFFLINE failure
Problem: If setting of an ip-address fails with LAN_OFFLINE,
qeth does not save the ip-address in its internal
list of set ip-addresses. qeth recovers after a
following STARTLAN event, but cannot set the unsaved
ip-address.
Solution: save the ip-address in the qeth-maintained list of
ip-addresses after a LAN_OFFLINE failure for SETIP.
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r-- | drivers/s390/net/qeth_l3_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index c5e90eecae45..e1bfe56087d6 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c | |||
@@ -461,7 +461,7 @@ static void qeth_l3_set_ip_addr_list(struct qeth_card *card) | |||
461 | spin_unlock_irqrestore(&card->ip_lock, flags); | 461 | spin_unlock_irqrestore(&card->ip_lock, flags); |
462 | rc = qeth_l3_register_addr_entry(card, todo); | 462 | rc = qeth_l3_register_addr_entry(card, todo); |
463 | spin_lock_irqsave(&card->ip_lock, flags); | 463 | spin_lock_irqsave(&card->ip_lock, flags); |
464 | if (!rc) | 464 | if (!rc || (rc == IPA_RC_LAN_OFFLINE)) |
465 | list_add_tail(&todo->entry, &card->ip_list); | 465 | list_add_tail(&todo->entry, &card->ip_list); |
466 | else | 466 | else |
467 | kfree(todo); | 467 | kfree(todo); |