From: Li Qiang <liq3ea@xxxxxxxxx> In NCR_700_detect function, if an error occurs it will return NULL without freeing the dma non-cosistent memory once allocated. This patch avoid this. Signed-off-by: Li Qiang <liq3ea@xxxxxxxxx> --- drivers/scsi/53c700.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c index 95e32a4..d5a2ba3 100644 --- a/drivers/scsi/53c700.c +++ b/drivers/scsi/53c700.c @@ -332,8 +332,10 @@ struct Scsi_Host * tpnt->proc_name = "53c700"; host = scsi_host_alloc(tpnt, 4); - if (!host) + if (!host) { + dma_free_noncoherent(hostdata->dev, TOTAL_MEM_SIZE, memory, pScript); return NULL; + } memset(hostdata->slots, 0, sizeof(struct NCR_700_command_slot) * NCR_700_COMMAND_SLOTS_PER_HOST); for (j = 0; j < NCR_700_COMMAND_SLOTS_PER_HOST; j++) { @@ -394,6 +396,7 @@ struct Scsi_Host * if (scsi_add_host(host, dev)) { dev_printk(KERN_ERR, dev, "53c700: scsi_add_host failed\n"); + dma_free_noncoherent(hostdata->dev, TOTAL_MEM_SIZE, memory, pScript); scsi_host_put(host); return NULL; } -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html