Hi Daniel, > -----Original Message----- > From: Daniel Wagner <dwagner@xxxxxxx> > Sent: Tuesday, December 1, 2020 3:24 PM > To: Saurav Kashyap <skashyap@xxxxxxxxxxx> > Cc: Nilesh Javali <njavali@xxxxxxxxxxx>; martin.petersen@xxxxxxxxxx; linux- > scsi@xxxxxxxxxxxxxxx; GR-QLogic-Storage-Upstream <GR-QLogic-Storage- > Upstream@xxxxxxxxxxx> > Subject: [EXT] Re: [PATCH 05/15] qla2xxx: Don't check for fw_started while > posting nvme command > > External Email > > ---------------------------------------------------------------------- > Hi Saurav > > On Tue, Dec 01, 2020 at 09:39:05AM +0000, Saurav Kashyap wrote: > > > > --- a/drivers/scsi/qla2xxx/qla_nvme.c > > > > +++ b/drivers/scsi/qla2xxx/qla_nvme.c > > > > @@ -554,19 +554,15 @@ static int qla_nvme_post_cmd(struct > > > nvme_fc_local_port *lport, > > > > > > > > fcport = qla_rport->fcport; > > > > > > > > - if (!qpair || !fcport) > > > > - return -ENODEV; > > > > - > > > > - if (!qpair->fw_started || fcport->deleted) > > > > + if (unlikely(!qpair || !fcport || fcport->deleted)) > > > > return -EBUSY; > > > > > > This reverts the fix from patch #1 in this series. What's the reasoning > > > that needs to return EBUSY when !qpair || !fcport is true? > > > > Ideally driver should not hit (!qpair || !fcport) case. The patch was > > to remove fw_started flag and consolidate other checks. > > Looking again on the patch I think I got confused. > > > We want IO to retry until remote port is deleted and below condition is hit. > > The result of this patch is that in EBUSY will be returned in all the > cases, not just for the case of fcport->deleted. So all is good from my > point of view. Thanks for explaining. > > Sorry for the noise. No problem, most welcome. Thanks, ~Saurav > > Thanks, > Daniel