Message ID | 1478018421-22820-1-git-send-email-thenzl@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
>>>>> "Tomas" == Tomas Henzl <thenzl@redhat.com> writes:
Tomas> rport can't be null here, it would have failed already in
Tomas> fc_remote_port_chkready
Cisco folks: Please review!
Satish, Sesidhar, Please review Tomas' patch: https://patchwork.kernel.org/patch/9407637/ Thank you!
On 1.11.2016 17:40, Tomas Henzl wrote: > rport can't be null here, it would have failed already in > fc_remote_port_chkready > > Signed-off-by: Tomas Henzl <thenzl@redhat.com> Martin, another (better) patch "fnic: Correcting rport check location in fnic_queuecommand_lck" has been added to 4.10/scsi-queue. Please drop this one. Tomas -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>> "Tomas" == Tomas Henzl <thenzl@redhat.com> writes:
Tomas> Martin, another (better) patch "fnic: Correcting rport check
Tomas> location in fnic_queuecommand_lck" has been added to
Tomas> 4.10/scsi-queue.
Tomas> Please drop this one.
Done!
diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c index d9fd2f8415..1d3ecaee56 100644 --- a/drivers/scsi/fnic/fnic_scsi.c +++ b/drivers/scsi/fnic/fnic_scsi.c @@ -441,6 +441,7 @@ static int fnic_queuecommand_lck(struct scsi_cmnd *sc, void (*done)(struct scsi_ unsigned long ptr; spinlock_t *io_lock = NULL; int io_lock_acquired = 0; + struct fc_rport_libfc_priv *rp; if (unlikely(fnic_chk_state_flags_locked(fnic, FNIC_FLAGS_IO_BLOCKED))) return SCSI_MLQUEUE_HOST_BUSY; @@ -454,17 +455,14 @@ static int fnic_queuecommand_lck(struct scsi_cmnd *sc, void (*done)(struct scsi_ return 0; } - if (rport) { - struct fc_rport_libfc_priv *rp = rport->dd_data; - - if (!rp || rp->rp_state != RPORT_ST_READY) { - FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, - "returning DID_NO_CONNECT for IO as rport is removed\n"); - atomic64_inc(&fnic_stats->misc_stats.rport_not_ready); - sc->result = DID_NO_CONNECT<<16; - done(sc); - return 0; - } + rp = rport->dd_data; + if (!rp || rp->rp_state != RPORT_ST_READY) { + FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, + "returning DID_NO_CONNECT for IO as rport is removed\n"); + atomic64_inc(&fnic_stats->misc_stats.rport_not_ready); + sc->result = DID_NO_CONNECT<<16; + done(sc); + return 0; } if (lp->state != LPORT_ST_READY || !(lp->link_up))
rport can't be null here, it would have failed already in fc_remote_port_chkready Signed-off-by: Tomas Henzl <thenzl@redhat.com> --- drivers/scsi/fnic/fnic_scsi.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)