Skip to content

Commit

Permalink
rtc: max77686: Properly handle regmap_irq_get_virq() error code
Browse files Browse the repository at this point in the history
The regmap_irq_get_virq() can return 0 or -EINVAL in error conditions
but driver checked only for value of 0.

This could lead to a cast of -EINVAL to an unsigned int used as a
interrupt number for devm_request_threaded_irq(). Although this is not
yet fatal (devm_request_threaded_irq() will just fail with -EINVAL) but
might be a misleading when diagnosing errors.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Fixes: 6f1c1e7 ("mfd: max77686: Convert to use regmap_irq")
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
  • Loading branch information
Krzysztof Kozlowski authored and Alexandre Belloni committed Feb 4, 2016
1 parent 1e5813b commit fb166ba
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/rtc/rtc-max77686.c
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,7 @@ static int max77686_rtc_probe(struct platform_device *pdev)

info->virq = regmap_irq_get_virq(max77686->rtc_irq_data,
MAX77686_RTCIRQ_RTCA1);
if (!info->virq) {
if (info->virq <= 0) {
ret = -ENXIO;
goto err_rtc;
}
Expand Down

0 comments on commit fb166ba

Please sign in to comment.