lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 370/601] scsi: sun3x_esp: Add IRQ check
    Date
    From: Sergey Shtylyov <s.shtylyov@omprussia.ru>

    [ Upstream commit 14b321380eb333c82853d7d612d0995f05f88fdc ]

    The driver neglects to check the result of platform_get_irq()'s call and
    blithely passes the negative error codes to request_irq() (which takes
    *unsigned* IRQ #), causing it to fail with -EINVAL, overriding the real
    error code. Stop calling request_irq() with the invalid IRQ #s.

    Link: https://lore.kernel.org/r/363eb4c8-a3bf-4dc9-2a9e-90f349030a15@omprussia.ru
    Fixes: 0bb67f181834 ("[SCSI] sun3x_esp: convert to esp_scsi")
    Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/scsi/sun3x_esp.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/scsi/sun3x_esp.c b/drivers/scsi/sun3x_esp.c
    index 7de82f2c9757..d3489ac7ab28 100644
    --- a/drivers/scsi/sun3x_esp.c
    +++ b/drivers/scsi/sun3x_esp.c
    @@ -206,7 +206,9 @@ static int esp_sun3x_probe(struct platform_device *dev)
    if (!esp->command_block)
    goto fail_unmap_regs_dma;

    - host->irq = platform_get_irq(dev, 0);
    + host->irq = err = platform_get_irq(dev, 0);
    + if (err < 0)
    + goto fail_unmap_command_block;
    err = request_irq(host->irq, scsi_esp_intr, IRQF_SHARED,
    "SUN3X ESP", esp);
    if (err < 0)
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 20:02    [W:2.283 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site