platform_get_irq() can fail here and we must check its return value.
Signed-off-by: Arvind Yadav <[email protected]>
---
changes in v2 :
Add failure case '<= 0' instead of '< 0'. IRQ0 is not valid.
changes in v3 :
Return -EIO insted of ctx->irq_num.
changes in v4 :
Add separate error for irq == 0 and irq < 0.
sound/soc/intel/atom/sst/sst_acpi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sound/soc/intel/atom/sst/sst_acpi.c b/sound/soc/intel/atom/sst/sst_acpi.c
index 0e928d5..aec7408 100644
--- a/sound/soc/intel/atom/sst/sst_acpi.c
+++ b/sound/soc/intel/atom/sst/sst_acpi.c
@@ -236,6 +236,9 @@ static int sst_platform_get_resources(struct intel_sst_drv *ctx)
/* Find the IRQ */
ctx->irq_num = platform_get_irq(pdev,
ctx->pdata->res_info->acpi_ipc_irq_index);
+ if (ctx->irq_num <= 0)
+ return ctx->irq_num < 0 ? ctx->irq_num : -EIO;
+
return 0;
}
--
2.7.4
From 1585981357678445070@xxx Tue Dec 05 21:34:47 +0000 2017
X-GM-THRID: 1585981357678445070
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread