]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: qedi: Fix failed disconnect handling
authorMike Christie <michael.christie@oracle.com>
Fri, 8 Apr 2022 00:13:13 +0000 (19:13 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Apr 2022 12:38:57 +0000 (14:38 +0200)
commit8732bf70f7b08e634396cd5768e5fc0b2b32aef7
tree7f7ab6e54c57132c8c3f686a1bb1241ca37ffb43
parent0e75da6d6a05b48161e293dd3ab775d7f84b7887
scsi: qedi: Fix failed disconnect handling

[ Upstream commit ac568d7d671b9bdf474f397dfb5aed055b2cf9bf ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qedi/qedi_iscsi.c