scsi: target: iscsit: Fix TAS handling during conn cleanup
authorMike Christie <michael.christie@oracle.com>
Sun, 19 Mar 2023 01:56:19 +0000 (20:56 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 24 Mar 2023 21:32:23 +0000 (17:32 -0400)
commitcc79da306ebb2edb700c3816b90219223182ac3c
treed17d88a7f66beeb03c9454fcbb8b56b784f6f4bf
parent673db054d7a2b5a470d7a25baf65956d005ad729
scsi: target: iscsit: Fix TAS handling during conn cleanup

Fix a bug added in commit f36199355c64 ("scsi: target: iscsi: Fix cmd abort
fabric stop race").

If CMD_T_TAS is set on the se_cmd we must call iscsit_free_cmd() to do the
last put on the cmd and free it, because the connection is down and we will
not up sending the response and doing the put from the normal I/O
path.

Add a check for CMD_T_TAS in iscsit_release_commands_from_conn() so we now
detect this case and run iscsit_free_cmd().

Fixes: f36199355c64 ("scsi: target: iscsi: Fix cmd abort fabric stop race")
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Link: https://lore.kernel.org/r/20230319015620.96006-9-michael.christie@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/iscsi/iscsi_target.c