scsi: qedi: Fix failed disconnect handling
authorMike Christie <michael.christie@oracle.com>
Fri, 8 Apr 2022 00:13:13 +0000 (19:13 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 12 Apr 2022 02:09:35 +0000 (22:09 -0400)
commit857b06527f707f5df634b854898a191b5c1d0272
treeef695d0b7658dee164546623d8a438f146d50832
parent44ac97109e42f87b1a34954704b81b6c8eca80c4
scsi: qedi: Fix failed disconnect handling

We set the qedi_ep state to EP_STATE_OFLDCONN_START when the ep is
created. Then in qedi_set_path we kick off the offload work. If userspace
times out the connection and calls ep_disconnect, qedi will only flush the
offload work if the qedi_ep state has transitioned away from
EP_STATE_OFLDCONN_START. If we can't connect we will not have transitioned
state and will leave the offload work running, and we will free the qedi_ep
from under it.

This patch just has us init the work when we create the ep, then always
flush it.

Link: https://lore.kernel.org/r/20220408001314.5014-10-michael.christie@oracle.com
Tested-by: Manish Rangankar <mrangankar@marvell.com>
Reviewed-by: Lee Duncan <lduncan@suse.com>
Reviewed-by: Chris Leech <cleech@redhat.com>
Acked-by: Manish Rangankar <mrangankar@marvell.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedi/qedi_iscsi.c