From: Chen Ni <[email protected]>
platform_get_irq() returns a negative error code to indicating an
error. All the same does pci_alloc_irq_vectors() and pci_irq_vector().
So in intel_lpss_probe() the erroneous IRQ should be better returned
as is.
The pci_alloc_irq_vectors() call and platform_get_irq() guarantee
that IRQ won't be 0, hence drop that check.
Signed-off-by: Chen Ni <[email protected]>
[andy: updated commit message]
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/mfd/intel-lpss.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
index 9591b354072a..4c9d0222751a 100644
--- a/drivers/mfd/intel-lpss.c
+++ b/drivers/mfd/intel-lpss.c
@@ -378,9 +378,12 @@ int intel_lpss_probe(struct device *dev,
struct intel_lpss *lpss;
int ret;
- if (!info || !info->mem || info->irq <= 0)
+ if (!info || !info->mem)
return -EINVAL;
+ if (info->irq < 0)
+ return info->irq;
+
lpss = devm_kzalloc(dev, sizeof(*lpss), GFP_KERNEL);
if (!lpss)
return -ENOMEM;
--
2.40.0.1.gaa8946217a0b
On Mon, 06 Nov 2023, Andy Shevchenko wrote:
> From: Chen Ni <[email protected]>
>
> platform_get_irq() returns a negative error code to indicating an
> error. All the same does pci_alloc_irq_vectors() and pci_irq_vector().
> So in intel_lpss_probe() the erroneous IRQ should be better returned
> as is.
>
> The pci_alloc_irq_vectors() call and platform_get_irq() guarantee
> that IRQ won't be 0, hence drop that check.
>
> Signed-off-by: Chen Ni <[email protected]>
> [andy: updated commit message]
I reworded it further.
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> drivers/mfd/intel-lpss.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
> index 9591b354072a..4c9d0222751a 100644
> --- a/drivers/mfd/intel-lpss.c
> +++ b/drivers/mfd/intel-lpss.c
> @@ -378,9 +378,12 @@ int intel_lpss_probe(struct device *dev,
> struct intel_lpss *lpss;
> int ret;
>
> - if (!info || !info->mem || info->irq <= 0)
> + if (!info || !info->mem)
> return -EINVAL;
>
> + if (info->irq < 0)
> + return info->irq;
> +
> lpss = devm_kzalloc(dev, sizeof(*lpss), GFP_KERNEL);
> if (!lpss)
> return -ENOMEM;
> --
> 2.40.0.1.gaa8946217a0b
>
--
Lee Jones [李琼斯]