qeth: support VIPA add/del in offline mode
authorEinar Lueck <elelueck@de.ibm.com>
Wed, 8 Dec 2010 02:57:59 +0000 (02:57 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Dec 2010 22:28:47 +0000 (14:28 -0800)
Only work through the IP adddress to do list if the card is UP or
SOFTSETUP. Enables to configure VIPA add/del in offline mode.

Signed-off-by: Einar Lueck <elelueck@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_l3_main.c

index a7590551e574e63c68b1a59126e2b9e5e805cd01..d5e40c3e4bc37be5bc273083b942bacdf555f8f4 100644 (file)
@@ -456,8 +456,11 @@ static void qeth_l3_set_ip_addr_list(struct qeth_card *card)
        QETH_CARD_TEXT(card, 2, "sdiplist");
        QETH_CARD_HEX(card, 2, &card, sizeof(void *));
 
-       if (card->options.sniffer)
+       if ((card->state != CARD_STATE_UP &&
+            card->state != CARD_STATE_SOFTSETUP) || card->options.sniffer) {
                return;
+       }
+
        spin_lock_irqsave(&card->ip_lock, flags);
        tbd_list = card->ip_tbd_list;
        card->ip_tbd_list = kmalloc(sizeof(struct list_head), GFP_ATOMIC);