|
@@ -5874,8 +5874,11 @@ static int ipr_queuecommand(struct Scsi_Host *shost,
|
|
|
goto err_nodev;
|
|
|
}
|
|
|
|
|
|
- if (ipr_is_gata(res) && res->sata_port)
|
|
|
- return ata_sas_queuecmd(scsi_cmd, res->sata_port->ap);
|
|
|
+ if (ipr_is_gata(res) && res->sata_port) {
|
|
|
+ rc = ata_sas_queuecmd(scsi_cmd, res->sata_port->ap);
|
|
|
+ spin_unlock_irqrestore(shost->host_lock, lock_flags);
|
|
|
+ return rc;
|
|
|
+ }
|
|
|
|
|
|
ipr_cmd = __ipr_get_free_ipr_cmnd(ioa_cfg);
|
|
|
spin_unlock_irqrestore(shost->host_lock, lock_flags);
|