[SCSI] libfc: call fc_remote_port_chkready under the host lock.
The rport port state and flags are set under the host lock, so this patch calls fc_remote_port_chkready with the host lock held like is also done in the other fc drivers. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
Родитель
26845f585f
Коммит
be948fc30d
|
@ -1765,14 +1765,14 @@ int fc_queuecommand(struct scsi_cmnd *sc_cmd, void (*done)(struct scsi_cmnd *))
|
|||
struct fcoe_dev_stats *stats;
|
||||
|
||||
lport = shost_priv(sc_cmd->device->host);
|
||||
spin_unlock_irq(lport->host->host_lock);
|
||||
|
||||
rval = fc_remote_port_chkready(rport);
|
||||
if (rval) {
|
||||
sc_cmd->result = rval;
|
||||
done(sc_cmd);
|
||||
goto out;
|
||||
return 0;
|
||||
}
|
||||
spin_unlock_irq(lport->host->host_lock);
|
||||
|
||||
if (!*(struct fc_remote_port **)rport->dd_data) {
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче