[PATCH] mfd: intel-lpss: Add check for platform_get_irq

Chen Ni posted 1 patch 2 years, 1 month ago
drivers/mfd/intel-lpss-acpi.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
[PATCH] mfd: intel-lpss: Add check for platform_get_irq
Posted by Chen Ni 2 years, 1 month ago
The platform_get_irq() might be failed and return a negative result.
So there should have an error handling code.

Fixes: 4b45efe85263 ("mfd: Add support for Intel Sunrisepoint LPSS devices")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
---
 drivers/mfd/intel-lpss-acpi.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/mfd/intel-lpss-acpi.c b/drivers/mfd/intel-lpss-acpi.c
index 212818aef93e..42b14a80b989 100644
--- a/drivers/mfd/intel-lpss-acpi.c
+++ b/drivers/mfd/intel-lpss-acpi.c
@@ -186,7 +186,11 @@ static int intel_lpss_acpi_probe(struct platform_device *pdev)
 	if (!info->mem)
 		return -ENODEV;
 
-	info->irq = platform_get_irq(pdev, 0);
+	ret = platform_get_irq(pdev, 0);
+	if (ret < 0)
+		return ret;
+
+	info->irq = ret;
 
 	ret = intel_lpss_probe(&pdev->dev, info);
 	if (ret)
-- 
2.25.1
Re: [PATCH] mfd: intel-lpss: Add check for platform_get_irq
Posted by Andy Shevchenko 2 years, 1 month ago
On Tue, Oct 31, 2023 at 06:36:42AM +0000, Chen Ni wrote:
> The platform_get_irq() might be failed and return a negative result.
> So there should have an error handling code.

NAK.

Have you checked the implementation of intel_lpcc_probe()?

> Fixes: 4b45efe85263 ("mfd: Add support for Intel Sunrisepoint LPSS devices")

It does not fix anything, except maybe an error code.
Also it misses PCI counterpart.

...

That said, I would expect that in intel_lpss_probe() the unset / erroneous IRQ
(which actually shouldn't be checked against 0 at all) should be returned as is.


i.e.

	if (!info || !info->mem || info->irq <= 0)
		return -EINVAL;

be converted to

	if (!info || !info->mem)
		return -EINVAL;

	if (info->irq < 0)
		return info->irq;

That kind of patch I will accept.

-- 
With Best Regards,
Andy Shevchenko