while ((d = next)) {
next = d->next;
dev = d->dev;
- if (dev != ic_dev->dev && !netdev_uses_dsa(dev)) {
+ if ((!ic_dev || dev != ic_dev->dev) && !netdev_uses_dsa(dev)) {
pr_debug("IP-Config: Downing %s\n", dev->name);
dev_change_flags(dev, d->flags);
}
* Close all network devices except the device we've
* autoconfigured and set up routes.
*/
- ic_close_devs();
if (ic_setup_if() < 0 || ic_setup_routes() < 0)
- return -1;
+ err = -1;
+ else
+ err = 0;
+ ic_close_devs();
- return 0;
+ return err;
}
late_initcall(ip_auto_config);