diff mbox series

[net-next] net: ipconfig: Wait for deferred device probes

Message ID 20191120160236.4459-1-tbogendoerfer@suse.de
State Accepted
Delegated to: David Miller
Headers show
Series [net-next] net: ipconfig: Wait for deferred device probes | expand

Commit Message

Thomas Bogendoerfer Nov. 20, 2019, 4:02 p.m. UTC
If network device drives are using deferred probing, it was possible
that waiting for devices to show up in ipconfig was already over,
when the device eventually showed up. By calling wait_for_device_probe()
we now make sure deferred probing is done before checking for available
devices.

Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 net/ipv4/ipconfig.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

David Miller Nov. 20, 2019, 8:40 p.m. UTC | #1
From: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Date: Wed, 20 Nov 2019 17:02:36 +0100

> If network device drives are using deferred probing, it was possible
> that waiting for devices to show up in ipconfig was already over,
> when the device eventually showed up. By calling wait_for_device_probe()
> we now make sure deferred probing is done before checking for available
> devices.
> 
> Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
 ...
> +		/* make sure deferred device probes are finished */
> +		wait_for_device_probe();
> +

So much nicer, right? :-)

Applied.
diff mbox series

Patch

diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
index 9bcca08efec9..49b2381e857e 100644
--- a/net/ipv4/ipconfig.c
+++ b/net/ipv4/ipconfig.c
@@ -1412,6 +1412,9 @@  static int __init wait_for_devices(void)
 		struct net_device *dev;
 		int found = 0;
 
+		/* make sure deferred device probes are finished */
+		wait_for_device_probe();
+
 		rtnl_lock();
 		for_each_netdev(&init_net, dev) {
 			if (ic_is_init_dev(dev)) {