[PATCHv3 4/6] ata: pata_mpc52xx: remove redundant irq_dispose_mapping calls

From: Rosen Penev

Date: Fri Jun 12 2026 - 14:33:33 EST


bcom_ata_release() calls bcom_task_free(), which already calls
irq_dispose_mapping(tsk->irq). The explicit irq_dispose_mapping()
calls in the probe error path and remove function are redundant
and cause a double-free of the same mapping.

Remove them.

Assisted-by: opencode:big-pickle
Fixes: d01159dffa15 ("drivers/ata/pata_mpc52xx.c: clean up error handling code")
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
drivers/ata/pata_mpc52xx.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/ata/pata_mpc52xx.c b/drivers/ata/pata_mpc52xx.c
index b2e2f83aa9ca..4645de4cc257 100644
--- a/drivers/ata/pata_mpc52xx.c
+++ b/drivers/ata/pata_mpc52xx.c
@@ -797,7 +797,6 @@ static int mpc52xx_ata_probe(struct platform_device *op)
return 0;

err2:
- irq_dispose_mapping(task_irq);
bcom_ata_release(dmatsk);
err1:
irq_dispose_mapping(ata_irq);
@@ -808,14 +807,11 @@ static void mpc52xx_ata_remove(struct platform_device *op)
{
struct ata_host *host = platform_get_drvdata(op);
struct mpc52xx_ata_priv *priv = host->private_data;
- int task_irq;

/* Deregister the ATA interface */
ata_platform_remove_one(op);

/* Clean up DMA */
- task_irq = bcom_get_task_irq(priv->dmatsk);
- irq_dispose_mapping(task_irq);
bcom_ata_release(priv->dmatsk);
irq_dispose_mapping(priv->ata_irq);
}
--
2.54.0