On 17 November 2017 at 17:35, Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> wrote:Yes, your are right. Sorry for noise.
platform_get_irq_byname() can fail here and we must check its return value.NAK.
You need to check the code more carefully. irq_cd is dealt with later
below in the same function with proper error handling.
~arvindSigned-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx>
---
drivers/mmc/host/usdhi6rol0.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c
index cdfeb15..5a896de 100644
--- a/drivers/mmc/host/usdhi6rol0.c
+++ b/drivers/mmc/host/usdhi6rol0.c
@@ -1749,7 +1749,7 @@ static int usdhi6_probe(struct platform_device *pdev)
irq_cd = platform_get_irq_byname(pdev, "card detect");
irq_sd = platform_get_irq_byname(pdev, "data");
irq_sdio = platform_get_irq_byname(pdev, "SDIO");
- if (irq_sd < 0 || irq_sdio < 0)
+ if (irq_cd < 0 || irq_sd < 0 || irq_sdio < 0)
return -ENODEV;
mmc = mmc_alloc_host(sizeof(struct usdhi6_host), dev);
--
2.7.4