This patch invokes AIM's disconnect_channel callback before the
corresponding pointers are re-initialized to NULL.

Signed-off-by: Christian Gromm <christian.gr...@microchip.com>
---
 drivers/staging/most/mostcore/core.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/most/mostcore/core.c 
b/drivers/staging/most/mostcore/core.c
index 995987d..d5ef61d 100644
--- a/drivers/staging/most/mostcore/core.c
+++ b/drivers/staging/most/mostcore/core.c
@@ -1046,12 +1046,12 @@ static ssize_t store_remove_link(struct most_aim_obj 
*aim_obj,
        if (IS_ERR(c))
                return -ENODEV;
 
+       if (aim_obj->driver->disconnect_channel(c->iface, c->channel_id))
+               return -EIO;
        if (c->aim0.ptr == aim_obj->driver)
                c->aim0.ptr = NULL;
        if (c->aim1.ptr == aim_obj->driver)
                c->aim1.ptr = NULL;
-       if (aim_obj->driver->disconnect_channel(c->iface, c->channel_id))
-               return -EIO;
        return len;
 }
 
-- 
1.7.9.5

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

Reply via email to