On Fri May 9 14:08:52 2025 +0530, Dikshita Agarwal wrote:
> The current check only considers the core error state before allowing
> writes to the HFI queues. However, the core can also transition to the
> deinit state due to a system error triggered by the response thread.
> In such cases, writing to the HFI queues should not be allowed.
> 
> Fix this by adding a check for the core deinit state, ensuring that
> writes are rejected when core is not in a valid state.
> 
> Cc: sta...@vger.kernel.org
> Fixes: fb583a214337 ("media: iris: introduce host firmware interface with 
> necessary hooks")
> Acked-by: Vikash Garodia <quic_vgaro...@quicinc.com>
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8550-QRD
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8550-HDK
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8650-QRD
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8650-HDK
> Signed-off-by: Dikshita Agarwal <quic_diksh...@quicinc.com>
> Reviewed-by: Bryan O'Donoghue <bryan.odonog...@linaro.org>
> Tested-by: Vikash Garodia <quic_vgaro...@quicinc.com> # on sa8775p-ride
> Signed-off-by: Bryan O'Donoghue <b...@kernel.org>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/qcom/iris/iris_hfi_queue.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---

diff --git a/drivers/media/platform/qcom/iris/iris_hfi_queue.c 
b/drivers/media/platform/qcom/iris/iris_hfi_queue.c
index fac7df0c4d1a..221dcd09e1e1 100644
--- a/drivers/media/platform/qcom/iris/iris_hfi_queue.c
+++ b/drivers/media/platform/qcom/iris/iris_hfi_queue.c
@@ -113,7 +113,7 @@ int iris_hfi_queue_cmd_write_locked(struct iris_core *core, 
void *pkt, u32 pkt_s
 {
        struct iris_iface_q_info *q_info = &core->command_queue;
 
-       if (core->state == IRIS_CORE_ERROR)
+       if (core->state == IRIS_CORE_ERROR || core->state == IRIS_CORE_DEINIT)
                return -EINVAL;
 
        if (!iris_hfi_queue_write(q_info, pkt, pkt_size)) {

Reply via email to