On Wed Dec 11 12:49:05 2024 +0100, Stanislaw Gruszka wrote:
> Fix cpu latency qos list corruption like below. It happens when
> we do not remove cpu latency request on error path and free
> corresponding memory.
> 
> [   30.634378] l7 kernel: list_add corruption. prev->next should be next 
> (ffffffff9645e960), but was 0000000100100001. (prev=ffff8e9e877e20a8).
> [   30.634388] l7 kernel: WARNING: CPU: 2 PID: 2008 at lib/list_debug.c:32 
> __list_add_valid_or_report+0x83/0xa0
> <snip>
> [   30.634640] l7 kernel: Call Trace:
> [   30.634650] l7 kernel:  <TASK>
> [   30.634659] l7 kernel:  ? __list_add_valid_or_report+0x83/0xa0
> [   30.634669] l7 kernel:  ? __warn.cold+0x93/0xf6
> [   30.634678] l7 kernel:  ? __list_add_valid_or_report+0x83/0xa0
> [   30.634690] l7 kernel:  ? report_bug+0xff/0x140
> [   30.634702] l7 kernel:  ? handle_bug+0x58/0x90
> [   30.634712] l7 kernel:  ? exc_invalid_op+0x17/0x70
> [   30.634723] l7 kernel:  ? asm_exc_invalid_op+0x1a/0x20
> [   30.634733] l7 kernel:  ? __list_add_valid_or_report+0x83/0xa0
> [   30.634742] l7 kernel:  plist_add+0xdd/0x140
> [   30.634754] l7 kernel:  pm_qos_update_target+0xa0/0x1f0
> [   30.634764] l7 kernel:  cpu_latency_qos_update_request+0x61/0xc0
> [   30.634773] l7 kernel:  intel_dp_aux_xfer+0x4c7/0x6e0 [i915 
> 1f824655ed04687c2b0d23dbce759fa785f6d033]
> 
> Reported-by: Genes Lists <li...@sapience.com>
> Closes: 
> https://lore.kernel.org/linux-media/c0e94be466b367f1a3cfdc3cb7b1a4f47e5953ae.ca...@sapience.com/
> Fixes: f50c4ca0a820 ("media: intel/ipu6: add the main input system driver")
> Cc: sta...@vger.kernel.org
> Signed-off-by: Stanislaw Gruszka <stanislaw.grus...@linux.intel.com>
> Reviewed-by: Hans de Goede <hdego...@redhat.com>
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>

Patch committed.

Thanks,
Mauro Carvalho Chehab

 drivers/media/pci/intel/ipu6/ipu6-isys.c | 1 +
 1 file changed, 1 insertion(+)

---

diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys.c 
b/drivers/media/pci/intel/ipu6/ipu6-isys.c
index 7148f8fe23f5..8d7a1ad19ead 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys.c
@@ -1133,6 +1133,7 @@ static int isys_probe(struct auxiliary_device *auxdev,
 free_fw_msg_bufs:
        free_fw_msg_bufs(isys);
 out_remove_pkg_dir_shared_buffer:
+       cpu_latency_qos_remove_request(&isys->pm_qos);
        if (!isp->secure_mode)
                ipu6_cpd_free_pkg_dir(adev);
 remove_shared_buffer:

Reply via email to