lkml.org 
[lkml]   [2021]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 058/133] i2c: iop3xx: fix deferred probing
    Date
    From: Sergey Shtylyov <s.shtylyov@omp.ru>

    [ Upstream commit a1299505162ad00def3573260c2c68b9c8e8d697 ]

    When adding the code to handle platform_get_irq*() errors in the commit
    489447380a29 ("handle errors returned by platform_get_irq*()"), the
    actual error code was enforced to be -ENXIO in the driver for some
    strange reason. This didn't matter much until the deferred probing was
    introduced -- which requires an actual error code to be propagated
    upstream from the failure site.

    While fixing this, also stop overriding the errors from request_irq() to
    -EIO (done since the pre-git era).

    Fixes: 489447380a29 ("[PATCH] handle errors returned by platform_get_irq*()")
    Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/i2c/busses/i2c-iop3xx.c | 6 ++----
    1 file changed, 2 insertions(+), 4 deletions(-)

    diff --git a/drivers/i2c/busses/i2c-iop3xx.c b/drivers/i2c/busses/i2c-iop3xx.c
    index 72d6161cf77c..6b9031ccd767 100644
    --- a/drivers/i2c/busses/i2c-iop3xx.c
    +++ b/drivers/i2c/busses/i2c-iop3xx.c
    @@ -459,16 +459,14 @@ iop3xx_i2c_probe(struct platform_device *pdev)

    irq = platform_get_irq(pdev, 0);
    if (irq < 0) {
    - ret = -ENXIO;
    + ret = irq;
    goto unmap;
    }
    ret = request_irq(irq, iop3xx_i2c_irq_handler, 0,
    pdev->name, adapter_data);

    - if (ret) {
    - ret = -EIO;
    + if (ret)
    goto unmap;
    - }

    memcpy(new_adapter->name, pdev->name, strlen(pdev->name));
    new_adapter->owner = THIS_MODULE;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-20 18:52    [W:4.186 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site