Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d995e1b7 authored by Dan Carpenter's avatar Dan Carpenter Committed by James Bottomley
Browse files

[SCSI] ipr: missing unlock before a return



We recently changed the locking in this function, but this return was
missed.  It needs an unlock and the IRQs need to be restored.

Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarBrian King <brking@linux.vnet.ibm.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent f1ba8a4f
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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);