[PATCHv2 0/5] ata: pata_mpc52xx: fix cleanup ordering and modernize
From: Rosen Penev
Date: Tue Jun 09 2026 - 15:47:02 EST
Fix several lifecycle bugs in the MPC52xx ATA driver:
- The BestComm task IRQ was managed by devm, creating a use-after-free
and teardown inversion. Switch to non-devm request_irq/free_irq so
the interrupt is unregistered before the task is freed.
- The error and remove paths called irq_dispose_mapping() explicitly,
duplicating the one in bcom_task_free(). Remove the redundant calls.
- Replace irq_of_parse_and_map() with platform_get_irq() for proper
error handling and integration with the platform device model.
- Replace the open-coded of_address_to_resource()/devm_request_mem_region()
/devm_ioremap() sequence with the standard helper.
v2: add extra patch from sashiko review.
Rosen Penev (5):
ata: pata_mpc52xx: fix NULL pointer dereference in IRQ handler
ata: pata_mpc52xx: switch to non-devm request_irq for proper ordering
ata: pata_mpc52xx: remove redundant irq_dispose_mapping calls
ata: pata_mpc52xx: convert to platform_get_irq()
ata: pata_mpc52xx: use devm_platform_get_and_ioremap_resource
drivers/ata/pata_mpc52xx.c | 70 +++++++++++++-------------------------
1 file changed, 23 insertions(+), 47 deletions(-)
--
2.54.0