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
Link: https://lore.kernel.org/r/20201202132312.19966-2-njavali@marvell.com
Reviewed-by: Arun Easi <aeasi@marvell.com>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  • Loading branch information
igaw authored and martinkpetersen committed Dec 9, 2020
1 parent 3a5b9fa commit 305c16c
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 305c16c

Please sign in to comment.