Commit a70757ba authored by Anil Ravindranath's avatar Anil Ravindranath Committed by James Bottomley

[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: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 3b9c212a
...@@ -2483,14 +2483,12 @@ static int pmcraid_error_handler(struct pmcraid_cmd *cmd) ...@@ -2483,14 +2483,12 @@ static int pmcraid_error_handler(struct pmcraid_cmd *cmd)
sense_copied = 1; sense_copied = 1;
} }
if (RES_IS_GSCSI(res->cfg_entry)) { if (RES_IS_GSCSI(res->cfg_entry))
pmcraid_cancel_all(cmd, sense_copied); pmcraid_cancel_all(cmd, sense_copied);
} else if (sense_copied) { else if (sense_copied)
pmcraid_erp_done(cmd); pmcraid_erp_done(cmd);
return 0; else
} else {
pmcraid_request_sense(cmd); pmcraid_request_sense(cmd);
}
return 1; return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment