mfd: mc13xxx: Add check for mc13xxx_irq_request
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Thu, 24 Feb 2022 02:23:31 +0000 (10:23 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:38 +0000 (14:23 +0200)
[ Upstream commit e477e51a41cb5d6034f3c5ea85a71ad4613996b9 ]

As the potential failure of the devm_request_threaded_irq(),
it should be better to check the return value of the
mc13xxx_irq_request() and return error if fails.

Fixes: 8e00593557c3 ("mfd: Add mc13892 support to mc13xxx")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220224022331.3208275-1-jiasheng@iscas.ac.cn
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mfd/mc13xxx-core.c

index 1abe743..e281a92 100644 (file)
@@ -323,8 +323,10 @@ int mc13xxx_adc_do_conversion(struct mc13xxx *mc13xxx, unsigned int mode,
                adc1 |= MC13783_ADC1_ATOX;
 
        dev_dbg(mc13xxx->dev, "%s: request irq\n", __func__);
-       mc13xxx_irq_request(mc13xxx, MC13XXX_IRQ_ADCDONE,
+       ret = mc13xxx_irq_request(mc13xxx, MC13XXX_IRQ_ADCDONE,
                        mc13xxx_handler_adcdone, __func__, &adcdone_data);
+       if (ret)
+               goto out;
 
        mc13xxx_reg_write(mc13xxx, MC13XXX_ADC0, adc0);
        mc13xxx_reg_write(mc13xxx, MC13XXX_ADC1, adc1);