lkml.org 
[lkml]   [2016]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.2.y-ckt 218/218] rtc: max77686: Properly handle regmap_irq_get_virq() error code
    Date
    4.2.8-ckt7 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Krzysztof Kozlowski <k.kozlowski@samsung.com>

    commit fb166ba1d7f0a662f7332f4ff660a0d6f4d76915 upstream.

    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: 6f1c1e71d933 ("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>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/rtc/rtc-max77686.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/rtc/rtc-max77686.c b/drivers/rtc/rtc-max77686.c
    index 7184a0e..725dcca 100644
    --- a/drivers/rtc/rtc-max77686.c
    +++ b/drivers/rtc/rtc-max77686.c
    @@ -465,7 +465,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;
    }
    --
    2.7.4
    \
     
     \ /
      Last update: 2016-03-31 22:41    [W:3.685 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site