* [PATCH 1/2] media: venus: hfi: Add error message for timeout error
@ 2022-01-14 11:02 Luca Weiss
2022-01-14 11:02 ` [PATCH 2/2] media: venus: hfi: avoid null dereference in deinit Luca Weiss
2022-03-25 7:58 ` [PATCH 1/2] media: venus: hfi: Add error message for timeout error Luca Weiss
0 siblings, 2 replies; 3+ messages in thread
From: Luca Weiss @ 2022-01-14 11:02 UTC (permalink / raw)
To: linux-arm-msm
Cc: ~postmarketos/upstreaming, Luca Weiss, Stanimir Varbanov,
Andy Gross, Bjorn Andersson, Mauro Carvalho Chehab, linux-media,
linux-kernel
This error can appear with wrong configuration and is difficult to find
as it just returns -ETIMEDOUT with no further message.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
drivers/media/platform/qcom/venus/hfi_venus.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c
index 3a75a27632fb..9a34662fea38 100644
--- a/drivers/media/platform/qcom/venus/hfi_venus.c
+++ b/drivers/media/platform/qcom/venus/hfi_venus.c
@@ -1583,8 +1583,10 @@ static int venus_suspend_3xx(struct venus_core *core)
*/
ret = readx_poll_timeout(venus_cpu_and_video_core_idle, hdev, val, val,
1500, 100 * 1500);
- if (ret)
+ if (ret) {
+ dev_err(dev, "wait for cpu and video core idle fail (%d)\n", ret);
return ret;
+ }
ret = venus_prepare_power_collapse(hdev, false);
if (ret) {
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] media: venus: hfi: avoid null dereference in deinit
2022-01-14 11:02 [PATCH 1/2] media: venus: hfi: Add error message for timeout error Luca Weiss
@ 2022-01-14 11:02 ` Luca Weiss
2022-03-25 7:58 ` [PATCH 1/2] media: venus: hfi: Add error message for timeout error Luca Weiss
1 sibling, 0 replies; 3+ messages in thread
From: Luca Weiss @ 2022-01-14 11:02 UTC (permalink / raw)
To: linux-arm-msm
Cc: ~postmarketos/upstreaming, Luca Weiss, Stanimir Varbanov,
Andy Gross, Bjorn Andersson, Mauro Carvalho Chehab, linux-media,
linux-kernel
If venus_probe fails at pm_runtime_put_sync the error handling first
calls hfi_destroy and afterwards hfi_core_deinit. As hfi_destroy sets
core->ops to NULL, hfi_core_deinit cannot call the core_deinit function
anymore.
Avoid this null pointer derefence by skipping the call when necessary.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
drivers/media/platform/qcom/venus/hfi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/media/platform/qcom/venus/hfi.c b/drivers/media/platform/qcom/venus/hfi.c
index 4e2151fb47f0..1968f09ad177 100644
--- a/drivers/media/platform/qcom/venus/hfi.c
+++ b/drivers/media/platform/qcom/venus/hfi.c
@@ -104,6 +104,9 @@ int hfi_core_deinit(struct venus_core *core, bool blocking)
mutex_lock(&core->lock);
}
+ if (!core->ops)
+ goto unlock;
+
ret = core->ops->core_deinit(core);
if (!ret)
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] media: venus: hfi: Add error message for timeout error
2022-01-14 11:02 [PATCH 1/2] media: venus: hfi: Add error message for timeout error Luca Weiss
2022-01-14 11:02 ` [PATCH 2/2] media: venus: hfi: avoid null dereference in deinit Luca Weiss
@ 2022-03-25 7:58 ` Luca Weiss
1 sibling, 0 replies; 3+ messages in thread
From: Luca Weiss @ 2022-03-25 7:58 UTC (permalink / raw)
To: Luca Weiss, linux-arm-msm
Cc: ~postmarketos/upstreaming, Stanimir Varbanov, Andy Gross,
Bjorn Andersson, Mauro Carvalho Chehab, linux-media,
linux-kernel
Hi everyone,
any feedback on this patch and the following one?
Regards
Luca
On Fri Jan 14, 2022 at 12:02 PM CET, Luca Weiss wrote:
> This error can appear with wrong configuration and is difficult to find
> as it just returns -ETIMEDOUT with no further message.
>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
> drivers/media/platform/qcom/venus/hfi_venus.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c
> index 3a75a27632fb..9a34662fea38 100644
> --- a/drivers/media/platform/qcom/venus/hfi_venus.c
> +++ b/drivers/media/platform/qcom/venus/hfi_venus.c
> @@ -1583,8 +1583,10 @@ static int venus_suspend_3xx(struct venus_core *core)
> */
> ret = readx_poll_timeout(venus_cpu_and_video_core_idle, hdev, val, val,
> 1500, 100 * 1500);
> - if (ret)
> + if (ret) {
> + dev_err(dev, "wait for cpu and video core idle fail (%d)\n", ret);
> return ret;
> + }
>
> ret = venus_prepare_power_collapse(hdev, false);
> if (ret) {
> --
> 2.34.1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-03-25 7:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-14 11:02 [PATCH 1/2] media: venus: hfi: Add error message for timeout error Luca Weiss
2022-01-14 11:02 ` [PATCH 2/2] media: venus: hfi: avoid null dereference in deinit Luca Weiss
2022-03-25 7:58 ` [PATCH 1/2] media: venus: hfi: Add error message for timeout error Luca Weiss
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.