Skip to content

Commit

Permalink
scsi: qla2xxx: Return EBUSY on fcport deletion
Browse files Browse the repository at this point in the history
When the fcport is about to be deleted we should return EBUSY instead of
ENODEV. Only for EBUSY will the request be requeued in a multipath setup.

Also return EBUSY when the firmware has not yet started to avoid dropping
the request.

Link: https://lore.kernel.org/r/20201014073048.36219-1-dwagner@suse.de
Reviewed-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  • Loading branch information
Daniel Wagner authored and Martin K. Petersen committed Oct 26, 2020
1 parent 831e340 commit 98f9d33
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/scsi/qla2xxx/qla_nvme.c
Original file line number Diff line number Diff line change
Expand Up @@ -554,10 +554,12 @@ static int qla_nvme_post_cmd(struct nvme_fc_local_port *lport,

fcport = qla_rport->fcport;

if (!qpair || !fcport || (qpair && !qpair->fw_started) ||
(fcport && fcport->deleted))
if (!qpair || !fcport)
return -ENODEV;

if (!qpair->fw_started || fcport->deleted)
return -EBUSY;

vha = fcport->vha;

if (!(fcport->nvme_flag & NVME_FLAG_REGISTERED))
Expand Down

0 comments on commit 98f9d33

Please sign in to comment.