misc: fastrpc: Fix device_open when no session is available
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>
This commit is contained in:
parent
c0fae22f48
commit
7c11df42d0
|
@ -1016,10 +1016,19 @@ static int fastrpc_device_open(struct inode *inode, struct file *filp)
|
|||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue