| From c6789d28f10096a0f9db4c423ade8165d2bf2277 Mon Sep 17 00:00:00 2001 |
| From: Fritz Koenig <frkoenig@chromium.org> |
| Date: Wed, 13 Jan 2021 00:26:16 +0000 |
| Subject: [PATCH] FROMLIST: venus: Check for valid device instance |
| |
| core->dev_dec and core-dev->enc are set up |
| by the corresponding vdec_probe and venc_probe. |
| If the probe fails, they will not be set |
| and so could be null when venus_sys_error_handler |
| is called. |
| |
| Fixes: 43e221e485e5 ("media: venus: Rework recovery mechanism") |
| Signed-off-by: Fritz Koenig <frkoenig@chromium.org> |
| (am from https://lore.kernel.org/patchwork/patch/1364364/) |
| |
| BUG=b:177328905 |
| TEST=suspend_stress_test |
| |
| Change-Id: I0ff12fec0c72a4311a092d272e27e419a7348fbd |
| Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2625991 |
| Tested-by: Fritz Koenig <frkoenig@chromium.org> |
| Auto-Submit: Fritz Koenig <frkoenig@chromium.org> |
| Reviewed-by: Alexandre Courbot <acourbot@chromium.org> |
| Reviewed-by: Sean Paul <seanpaul@chromium.org> |
| Commit-Queue: Alexandre Courbot <acourbot@chromium.org> |
| Commit-Queue: Fritz Koenig <frkoenig@chromium.org> |
| (cherry picked from commit ad39b429fe21351744f9b329b1e4014c4f1f8909) |
| Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2645563 |
| Commit-Queue: Matthias Kaehlcke <mka@chromium.org> |
| Tested-by: Matthias Kaehlcke <mka@chromium.org> |
| Auto-Submit: Matthias Kaehlcke <mka@chromium.org> |
| Reviewed-by: Fritz Koenig <frkoenig@chromium.org> |
| --- |
| drivers/media/platform/qcom/venus/core.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c |
| index 91b15842c555..ae47b5888a67 100644 |
| --- a/drivers/media/platform/qcom/venus/core.c |
| +++ b/drivers/media/platform/qcom/venus/core.c |
| @@ -100,7 +100,8 @@ static void venus_sys_error_handler(struct work_struct *work) |
| mutex_lock(&core->lock); |
| |
| for (i = 0; i < max_attempts; i++) { |
| - if (!pm_runtime_active(core->dev_dec) && !pm_runtime_active(core->dev_enc)) |
| + if ((!core->dev_dec && !pm_runtime_active(core->dev_dec)) && |
| + (!core->dev_enc && !pm_runtime_active(core->dev_enc))) |
| break; |
| msleep(10); |
| } |
| -- |
| 2.32.0.93.g670b81a890-goog |
| |