Quellcode durchsuchen

[SCSI] pmcraid: fix to avoid twice scsi_dma_unmap for a command

For a particular driver error condition, driver was doing double
scsi_dma_unmaps. Driver was calling scsi_dma_unmap in
pmcraid_error_handler and return 0. This pmcraid_error_handler is called
by pmcraid_io_done which will do scsi_dma_unmap again when it has
return 0 from pmcraid_error_handler.

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Anil Ravindranath vor 15 Jahren
Ursprung
Commit
a70757ba9a
1 geänderte Dateien mit 3 neuen und 5 gelöschten Zeilen
  1. 3 5
      drivers/scsi/pmcraid.c

+ 3 - 5
drivers/scsi/pmcraid.c

@@ -2483,14 +2483,12 @@ static int pmcraid_error_handler(struct pmcraid_cmd *cmd)
 			sense_copied = 1;
 		}
 
-		if (RES_IS_GSCSI(res->cfg_entry)) {
+		if (RES_IS_GSCSI(res->cfg_entry))
 			pmcraid_cancel_all(cmd, sense_copied);
-		} else if (sense_copied) {
+		else if (sense_copied)
 			pmcraid_erp_done(cmd);
-			return 0;
-		} else  {
+		else
 			pmcraid_request_sense(cmd);
-		}
 
 		return 1;