This change fixes fastrpc_device_open() when no session is available and
return an error in such case.
Signed-off-by: Thierry Escande <thierry.escande@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        INIT_LIST_HEAD(&fl->user);
        fl->tgid = current->tgid;
        fl->cctx = cctx;
+
+       fl->sctx = fastrpc_session_alloc(cctx);
+       if (!fl->sctx) {
+               dev_err(&cctx->rpdev->dev, "No session available\n");
+               mutex_destroy(&fl->mutex);
+               kfree(fl);
+
+               return -EBUSY;
+       }
+
        spin_lock(&cctx->lock);
        list_add_tail(&fl->user, &cctx->users);
        spin_unlock(&cctx->lock);
-       fl->sctx = fastrpc_session_alloc(cctx);
 
        return 0;
 }