qeth: scheduling while atomic during ifconfig online sequence
authorFrank Blaschka <frank.blaschka@de.ibm.com>
Wed, 26 Aug 2009 02:01:07 +0000 (02:01 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Aug 2009 00:34:16 +0000 (17:34 -0700)
In case the IP address list contains entries (not removed when the device was set
offline) this entries should be registered next time the device is brought online.
In the past this was done implicitly with the device open call but since we wait
in the set IPv4 IPA and the device open common code holds various locks this
does not work any longer.

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 048defaea81fad8bcd598547ec037e7990227e68..77e04b7fad1dbc8ba091cbbc77e87f9f7fa76f7e 100644 (file)
@@ -3180,6 +3180,7 @@ static int __qeth_l3_set_online(struct ccwgroup_device *gdev, int recovery_mode)
        netif_carrier_on(card->dev);
 
        qeth_set_allowed_threads(card, 0xffffffff, 0);
+       qeth_l3_set_ip_addr_list(card);
        if (recover_flag == CARD_STATE_RECOVER) {
                if (recovery_mode)
                        qeth_l3_open(card->dev);