aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen Ni <[email protected]>2023-11-06 20:40:52 +0200
committerLee Jones <[email protected]>2023-12-07 13:50:25 +0000
commit92827c1020706333f528e1ecd47145d9a426517e (patch)
tree510bb10076ebfb557302b05fff9bf9bf3ba97700
parent6978c7d2dd81e0a3f9d30d1fbdb013a5ae5fabaf (diff)
mfd: intel-lpss: Return error code received from the IRQ API
platform_get_irq() returns a negative error code to indicate an error. As does pci_alloc_irq_vectors() and pci_irq_vector(). So in intel_lpss_probe() the erroneous IRQ would be better returned as is. The pci_alloc_irq_vectors() call and platform_get_irq() guarantee that IRQs will not be 0, so we'll drop that check as well. Signed-off-by: Chen Ni <[email protected]> [andy: updated commit message] Signed-off-by: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
-rw-r--r--drivers/mfd/intel-lpss.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
index 9115ba4c768f..bbd65da46db6 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;