Re: [PATCH v2 1/2] PCI: plda: Remove unused IRQ handler and simplify IRQ request logic

Manivannan Sadhasivam
2025-04-19T10:25:28Z

On Sun, Mar 16, 2025 at 10:42:45PM +0530, Anand Moon wrote:
> The plda_event_handler() function has been removed since it only returned
> IRQ_HANDLED without performing any processing. Additionally, the IRQ
> request logic in plda_init_interrupts() has been streamlined by removing
> the redundant devm_request_irq() call when the request_event_irq()
> callback is not defined.
>
> Change ensures that interrupts are requested exclusively through the
> request_event_irq() callback when available, enhancing code clarity
> and maintainability.
>

Could you please reword the description in the imperative form? I have
mentioned this a couple of times in the past, but you are still not following it
:(

> Changes help fix kmemleak reported following debug log.
>

But you didn't say 'how'. In your last version you mentioned that it could be
due to passing NULL as the 'devname' to devm_request_irq(). Can you verify that
by passing an arbitrary name and see if the leak is disappearing?

> $ sudo cat /sys/kernel/debug/kmemleak
> unreferenced object 0xffffffd6c47c2600 (size 128):
> comm "kworker/u16:2", pid 38, jiffies 4294942263
> hex dump (first 32 bytes):
> cc 7c 5a 8d ff ff ff ff 40 b0 47 c8 d6 ff ff ff .|Z.....@.G.....
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> backtrace (crc 4f07ff07):
> __create_object+0x2a/0xfc
> kmemleak_alloc+0x38/0x98
> __kmalloc_cache_noprof+0x296/0x444
> request_threaded_irq+0x168/0x284
> devm_request_threaded_irq+0xa8/0x13c
> plda_init_interrupts+0x46e/0x858
> plda_pcie_host_init+0x356/0x468
> starfive_pcie_probe+0x2f6/0x398
> platform_probe+0x106/0x150
> really_probe+0x30e/0x746
> __driver_probe_device+0x11c/0x2c2
> driver_probe_device+0x5e/0x316
> __device_attach_driver+0x296/0x3a4
> bus_for_each_drv+0x1d0/0x260
> __device_attach+0x1fa/0x2d6
> device_initial_probe+0x14/0x28
> unreferenced object 0xffffffd6c47c2900 (size 128):
> comm "kworker/u16:2", pid 38, jiffies 4294942281
>
> Fixes: 4602c370bdf6 ("PCI: microchip: Move IRQ functions to pcie-plda-host.c")

This tag is not the one introduced the bug. It just moves the core around.

- Mani

--
மணிவண்ணன் சதாசிவம்