If the network device is being opened right after it has been registered
via function register_netdev(), the device state is not yet consistent in
the context of function ndo_open(). This patch cares about having the
initialization done right, before the networking device is registered.

Signed-off-by: Andrey Shvetsov <andrey.shvet...@k2l.de>
Signed-off-by: Christian Gromm <christian.gr...@microchip.com>
---
 drivers/staging/most/aim-network/networking.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/most/aim-network/networking.c 
b/drivers/staging/most/aim-network/networking.c
index dd36872..761c4cb 100644
--- a/drivers/staging/most/aim-network/networking.c
+++ b/drivers/staging/most/aim-network/networking.c
@@ -356,10 +356,13 @@ static int aim_probe_channel(struct most_interface 
*iface, int channel_idx,
                }
 
                nd->dev = dev;
+               ch->ch_id = channel_idx;
+               ch->linked = true;
 
                dev->ml_priv = nd;
                if (register_netdev(dev)) {
                        pr_err("registering net device failed\n");
+                       ch->linked = false;
                        free_netdev(dev);
                        return -EINVAL;
                }
-- 
1.7.9.5

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to