summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-06-19 22:04:16 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-06-19 22:04:16 -0700
commit9cc0ccd7af0cdcbb9757e44fdc43b41860100bb9 (patch)
tree899ed9ce266dbf6b23130bbde46c1e409a075fc5
parent467469229d3686283e0e84dc6c878d63bcb2331e (diff)
parent333c319df3338584a0998739aefc171febeff230 (diff)
Merge "soc: qcom: hab: return -EINTR if woken up by a signal"
-rw-r--r--drivers/soc/qcom/hab/hab.c7
-rw-r--r--drivers/soc/qcom/hab/hab_open.c4
2 files changed, 6 insertions, 5 deletions
diff --git a/drivers/soc/qcom/hab/hab.c b/drivers/soc/qcom/hab/hab.c
index 0427845a2d14..48d61870f776 100644
--- a/drivers/soc/qcom/hab/hab.c
+++ b/drivers/soc/qcom/hab/hab.c
@@ -120,7 +120,7 @@ void hab_ctx_free(struct kref *ref)
write_lock(&ctx->exp_lock);
list_for_each_entry_safe(exp, exp_tmp, &ctx->exp_whse, node) {
list_del(&exp->node);
- pr_err("potential leak exp %d vcid %X recovered\n",
+ pr_debug("potential leak exp %d vcid %X recovered\n",
exp->export_id, exp->vcid_local);
habmem_hyp_revoke(exp->payload, exp->payload_count);
habmem_remove_export(exp);
@@ -131,7 +131,7 @@ void hab_ctx_free(struct kref *ref)
list_for_each_entry_safe(exp, exp_tmp, &ctx->imp_whse, node) {
list_del(&exp->node);
ctx->import_total--;
- pr_warn("leaked imp %d vcid %X for ctx is collected total %d\n",
+ pr_debug("leaked imp %d vcid %X for ctx is collected total %d\n",
exp->export_id, exp->vcid_local,
ctx->import_total);
habmm_imp_hyp_unmap(ctx->import_ctx, exp, ctx->kernel);
@@ -329,7 +329,8 @@ struct virtual_channel *frontend_open(struct uhab_context *ctx,
vchan->id);
hab_open_pending_exit(ctx, pchan, &pending_open);
- ret = -EINVAL;
+ if (ret != -EINTR)
+ ret = -EINVAL;
goto err;
}
diff --git a/drivers/soc/qcom/hab/hab_open.c b/drivers/soc/qcom/hab/hab_open.c
index 50ebdf6852fe..f740a43c1973 100644
--- a/drivers/soc/qcom/hab/hab_open.c
+++ b/drivers/soc/qcom/hab/hab_open.c
@@ -165,8 +165,8 @@ int hab_open_listen(struct uhab_context *ctx,
pr_warn("local closing during open ret %d\n", ret);
ret = -ENODEV;
} else if (-ERESTARTSYS == ret) {
- pr_warn("local interrupted during open ret %d\n", ret);
- ret = -EAGAIN;
+ pr_warn("local interrupted ret %d\n", ret);
+ ret = -EINTR;
}
}