scsi: qedf: Don't queue anything if upload is in progress
- I/Os, aborts and tmf should not be queued if flush is in progress. Signed-off-by: Shyam Sundar <ssundar@marvell.com> Signed-off-by: Saurav Kashyap <skashyap@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
fc37ddce93
commit
ff543e2886
|
@ -982,7 +982,8 @@ qedf_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *sc_cmd)
|
|||
/* rport and tgt are allocated together, so tgt should be non-NULL */
|
||||
fcport = (struct qedf_rport *)&rp[1];
|
||||
|
||||
if (!test_bit(QEDF_RPORT_SESSION_READY, &fcport->flags)) {
|
||||
if (!test_bit(QEDF_RPORT_SESSION_READY, &fcport->flags) ||
|
||||
test_bit(QEDF_RPORT_UPLOADING_CONNECTION, &fcport->flags)) {
|
||||
/*
|
||||
* Session is not offloaded yet. Let SCSI-ml retry
|
||||
* the command.
|
||||
|
@ -2401,6 +2402,12 @@ int qedf_initiate_tmf(struct scsi_cmnd *sc_cmd, u8 tm_flags)
|
|||
|
||||
lport = qedf->lport;
|
||||
|
||||
if (test_bit(QEDF_RPORT_UPLOADING_CONNECTION, &fcport->flags)) {
|
||||
QEDF_ERR(&qedf->dbg_ctx, "Connection is getting uploaded.\n");
|
||||
rc = SUCCESS;
|
||||
goto tmf_err;
|
||||
}
|
||||
|
||||
if (test_bit(QEDF_UNLOADING, &qedf->flags) ||
|
||||
test_bit(QEDF_DBG_STOP_IO, &qedf->flags)) {
|
||||
rc = SUCCESS;
|
||||
|
|
Loading…
Reference in New Issue