Re: [PATCH v3 18/18] nvme-fc: do not reference lsrsp after failure
From: Daniel Wagner
Date: Tue Mar 18 2025 - 10:01:59 EST
On Tue, Mar 18, 2025 at 12:33:22PM +0100, Hannes Reinecke wrote:
> ret = lport->ops->xmt_ls_rsp(&lport->localport, &rport->remoteport,
> lsop->lsrsp);
> if (ret) {
> dev_warn(lport->dev,
> "LLDD rejected LS RSP xmt: LS %d status %d\n",
> w0->ls_cmd, ret);
> nvme_fc_xmt_ls_rsp_done(lsop->lsrsp);
> return;
> }
>
> so ->xmt_ls_rsp() would have invalidated one of the arguments.
> Plus 'nvme_fc_xmt_ls_rsp_done()' is now a wrapper around
> 'nvme_fc_xmt_ls_rsp_free()'.
> So why not go the full length and kill nvme_fc_xmt_ls_rsp_done()
> completely?
nvme_fc_xmt_ls_rsp_done will be called when the LS has been processed.
We still need it.
> Hmm?
It is very confusing with all these callbacks and the name scheme.