From: Ursula Braun Date: Tue, 1 Apr 2008 08:27:00 +0000 (+0200) Subject: qeth: keep ip-address after LAN_OFFLINE failure X-Git-Tag: v2.6.26-rc1~1138^2~8^2~12 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3caa4af834df519fda0f1ea6af4a5c7abfec98c7;p=linux-2.6 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 Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik --- diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index c5e90eecae..e1bfe56087 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) spin_unlock_irqrestore(&card->ip_lock, flags); rc = qeth_l3_register_addr_entry(card, todo); spin_lock_irqsave(&card->ip_lock, flags); - if (!rc) + if (!rc || (rc == IPA_RC_LAN_OFFLINE)) list_add_tail(&todo->entry, &card->ip_list); else kfree(todo);