staging: most: move initialization of pointer
authorChristian Gromm <christian.gromm@microchip.com>
Tue, 22 Dec 2015 09:52:53 +0000 (10:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Feb 2016 01:34:58 +0000 (17:34 -0800)
This patch makes function store_add_link initialize the pointer to an AIM
right before the channel is probed. It is needed, the AIM may already call
most_start_channel while probe_channel is still running. At this point the
pointer to the AIM must not be NULL.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/most/mostcore/core.c

index d5ef61df1f9b3ec37f37a256102ebc8bed605555..21c550ccfe7801ab299ae617e861b59772e40730 100644 (file)
@@ -996,11 +996,14 @@ static ssize_t store_add_link(struct most_aim_obj *aim_obj,
        else
                return -ENOSPC;
 
+       *aim_ptr = aim_obj->driver;
        ret = aim_obj->driver->probe_channel(c->iface, c->channel_id,
                                             &c->cfg, &c->kobj, mdev_devnod);
-       if (ret)
+       if (ret) {
+               *aim_ptr = NULL;
                return ret;
-       *aim_ptr = aim_obj->driver;
+       }
+
        return len;
 }