From 25ef42f3084df7b7511f1a9f72678a95d444f579 Mon Sep 17 00:00:00 2001 From: Christian Gromm Date: Mon, 28 Sep 2015 17:18:32 +0200 Subject: [PATCH] staging: most: fix race condition in AIM networking 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 Signed-off-by: Christian Gromm Signed-off-by: Greg Kroah-Hartman --- 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 dd368721b727..761c4cbff3e1 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; } -- 2.34.1