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.gr...@microchip.com>
---

v2: Changed patch description to be more distinct on why this patch is
important to apply, what has been claimed by Dan Carpenter.

 drivers/staging/most/mostcore/core.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/most/mostcore/core.c 
b/drivers/staging/most/mostcore/core.c
index d5ef61d..21c550c 100644
--- a/drivers/staging/most/mostcore/core.c
+++ b/drivers/staging/most/mostcore/core.c
@@ -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;
 }
 
-- 
1.7.9.5

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

Reply via email to