scsi: aha1740: Fix an errro handling path in aha1740_probe()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Fri, 28 Feb 2020 21:59:48 +0000 (22:59 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 27 Mar 2020 01:10:53 +0000 (21:10 -0400)
If 'dma_map_single()' fails, the ref counted 'shpnt' will be decremented
twice because 'scsi_host_put()' is called in the if block, and in the error
handling path.

Axe one of these calls.

Link: https://lore.kernel.org/r/20200228215948.7473-1-christophe.jaillet@wanadoo.fr
Fixes: 1dc09e120c83 ("scsi: aha1740: stop using scsi_unregister")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/aha1740.c

index da4150c..5a227c0 100644 (file)
@@ -592,7 +592,6 @@ static int aha1740_probe (struct device *dev)
                                             DMA_BIDIRECTIONAL);
        if (!host->ecb_dma_addr) {
                printk (KERN_ERR "aha1740_probe: Couldn't map ECB, giving up\n");
-               scsi_host_put (shpnt);
                goto err_host_put;
        }