Message ID | 20250428-qcom-iris-hevc-vp9-v2-10-3a6013ecb8a5@quicinc.com |
---|---|
State | New |
Headers | show |
Series | Add support for HEVC and VP9 codecs in decoder | expand |
On 4/28/2025 2:58 PM, 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: stable@vger.kernel.org > Fixes: fb583a214337 ("media: iris: introduce host firmware interface with necessary hooks") > Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com> > --- > 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)) { > Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
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)) {
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: stable@vger.kernel.org Fixes: fb583a214337 ("media: iris: introduce host firmware interface with necessary hooks") Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com> --- drivers/media/platform/qcom/iris/iris_hfi_queue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)