Skip to content

Commit

Permalink
[PATCH] libata: Fixup ata_sas_queuecmd to handle __ata_scsi_queuecmd …
Browse files Browse the repository at this point in the history
…failure

Fixes ata_sas_queuecmd to properly handle a failure from
__ata_scsi_queuecmd.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Brian King authored and Jeff Garzik committed Nov 28, 2006
1 parent f33d625 commit 08475a1
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions drivers/ata/libata-scsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -3347,20 +3347,23 @@ EXPORT_SYMBOL_GPL(ata_sas_slave_configure);
* @ap: ATA port to which the command is being sent
*
* RETURNS:
* Zero.
* Return value from __ata_scsi_queuecmd() if @cmd can be queued,
* 0 otherwise.
*/

int ata_sas_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *),
struct ata_port *ap)
{
int rc = 0;

ata_scsi_dump_cdb(ap, cmd);

if (likely(ata_scsi_dev_enabled(ap->device)))
__ata_scsi_queuecmd(cmd, done, ap->device);
rc = __ata_scsi_queuecmd(cmd, done, ap->device);
else {
cmd->result = (DID_BAD_TARGET << 16);
done(cmd);
}
return 0;
return rc;
}
EXPORT_SYMBOL_GPL(ata_sas_queuecmd);

0 comments on commit 08475a1

Please sign in to comment.