mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 04:42:04 -04:00
soc: qcom: spcom: return EINTR on wait interrupted
wait_for_completion_interruptible() returns ERESTARTSYS when the device goes to low power mode. The SPU subsystem is shutdown on deep low power mode, so the interrupted operation is not recoverable. return EINTR to user space to propagate the error to the user app. Change-Id: I3b47b971d4411f977a0f68c1ce838fd92198c75d Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
This commit is contained in:
parent
b73840d28d
commit
613dfc140f
1 changed files with 3 additions and 5 deletions
|
|
@ -502,11 +502,9 @@ static int spcom_rx(struct spcom_channel *ch,
|
|||
spcom_pr_warn("rpmsg channel is closing\n");
|
||||
ret = -ERESTART;
|
||||
goto exit_err;
|
||||
} else if (ret < 0 || timeleft == -ERESTARTSYS) {
|
||||
spcom_pr_dbg("wait interrupted: ret=%d, timeleft=%ld\n",
|
||||
ret, timeleft);
|
||||
if (timeleft == -ERESTARTSYS)
|
||||
ret = -ERESTARTSYS;
|
||||
} else if (ret < 0 || timeleft < 0) {
|
||||
spcom_pr_err("rx wait was interrupted!");
|
||||
ret = -EINTR; /* abort, not restartable */
|
||||
goto exit_err;
|
||||
} else if (ch->actual_rx_size) {
|
||||
spcom_pr_dbg("actual_rx_size is [%zu], txn_id %d\n",
|
||||
|
|
|
|||
Loading…
Reference in a new issue