summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/intel-lpss.c
diff options
context:
space:
mode:
authorChen Ni <nichen@iscas.ac.cn>2023-11-06 19:40:52 +0100
committerLee Jones <lee@kernel.org>2023-12-07 14:50:25 +0100
commit92827c1020706333f528e1ecd47145d9a426517e (patch)
tree510bb10076ebfb557302b05fff9bf9bf3ba97700 /drivers/mfd/intel-lpss.c
parentmfd: intel-lpss: Use PCI APIs instead of dereferencing (diff)
downloadlinux-92827c1020706333f528e1ecd47145d9a426517e.tar.xz
linux-92827c1020706333f528e1ecd47145d9a426517e.zip
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 <nichen@iscas.ac.cn> [andy: updated commit message] Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20231106184052.1166579-3-andriy.shevchenko@linux.intel.com Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'drivers/mfd/intel-lpss.c')
-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;