diff options
| author | Richard Acayan <[email protected]> | 2023-05-23 16:25:49 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2023-05-29 15:09:50 +0100 |
| commit | b6a062853ddf6b4f653af2d8b75ba45bb9a036ad (patch) | |
| tree | c1e9851328f8cdd7f681eeb34c6e3e1affe71595 | |
| parent | 3c7d0079a1831118ef232bd9c2f34d058a1f31c2 (diff) | |
misc: fastrpc: return -EPIPE to invocations on device removal
The return value is initialized as -1, or -EPERM. The completion of an
invocation implies that the return value is set appropriately, but
"Permission denied" does not accurately describe the outcome of the
invocation. Set the invocation's return value to a more appropriate
"Broken pipe", as the cleanup breaks the driver's connection with rpmsg.
Fixes: c68cfb718c8f ("misc: fastrpc: Add support for context Invoke method")
Cc: stable <[email protected]>
Signed-off-by: Richard Acayan <[email protected]>
Reviewed-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: Srinivas Kandagatla <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
| -rw-r--r-- | drivers/misc/fastrpc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index a654dc416480..964f67dad2f9 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -2349,8 +2349,10 @@ static void fastrpc_notify_users(struct fastrpc_user *user) struct fastrpc_invoke_ctx *ctx; spin_lock(&user->lock); - list_for_each_entry(ctx, &user->pending, node) + list_for_each_entry(ctx, &user->pending, node) { + ctx->retval = -EPIPE; complete(&ctx->work); + } spin_unlock(&user->lock); } |