2022-06-12 16:20:14

by Li Qiong

[permalink] [raw]
Subject: [PATCH] ata: handle failure of devm_ioremap()

As the possible failure of the devm_ioremap(), the return value
could be NULL. Therefore it should be better to check it and
print error message, return '-ENOMEM' error code.

Signed-off-by: Li Qiong <[email protected]>
---
drivers/ata/pata_pxa.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/ata/pata_pxa.c b/drivers/ata/pata_pxa.c
index 985f42c4fd70..cd1a8f37f920 100644
--- a/drivers/ata/pata_pxa.c
+++ b/drivers/ata/pata_pxa.c
@@ -228,6 +228,11 @@ static int pxa_ata_probe(struct platform_device *pdev)
ap->ioaddr.bmdma_addr = devm_ioremap(&pdev->dev, dma_res->start,
resource_size(dma_res));

+ if (!ap->ioaddr.cmd_addr || !ap->ioaddr.ctl_addr || !ap->ioaddr.bmdma_addr) {
+ dev_err(&pdev->dev, "failed to map ap->ioaddr\n");
+ return -ENOMEM;
+ }
+
/*
* Adjust register offsets
*/
--
2.11.0