aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/net
diff options
context:
space:
mode:
authorUrsula Braun <braunu@de.ibm.com>2008-04-01 04:27:00 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-16 20:41:42 -0400
commit3caa4af834df519fda0f1ea6af4a5c7abfec98c7 (patch)
tree5b682b3d1328e743a6e860bc44f6ddd87072fa3f /drivers/s390/net
parentb403e685b7c57f7912bae36987433e72c616f418 (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>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r--drivers/s390/net/qeth_l3_main.c2
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);