From e9c1f102588447255c75f0d57bbdc8341fc4ec96 Mon Sep 17 00:00:00 2001 From: Xie Yongji Date: Wed, 3 Jun 2020 13:49:44 +0800 Subject: [PATCH] pdu: Remove the checking for iscsi->is_loggedin in iscsi_cancel_pdus() I don't see any problems that calling the callback during connect/login in iscsi_cancel_pdus(). So let's remove this check. Otherwise, we have no way to be aware of a cancellation during login and cause something like iscsi_login_sync() hangs. Signed-off-by: Xie Yongji --- lib/pdu.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/pdu.c b/lib/pdu.c index 73d2f83..0f52504 100644 --- a/lib/pdu.c +++ b/lib/pdu.c @@ -784,10 +784,7 @@ iscsi_cancel_pdus(struct iscsi_context *iscsi) while ((pdu = iscsi->outqueue)) { ISCSI_LIST_REMOVE(&iscsi->outqueue, pdu); - if (iscsi->is_loggedin && pdu->callback) { - /* If an error happened during connect/login, - we don't want to call any of the callbacks. - */ + if (pdu->callback) { pdu->callback(iscsi, SCSI_STATUS_CANCELLED, NULL, pdu->private_data); } @@ -801,10 +798,7 @@ iscsi_cancel_pdus(struct iscsi_context *iscsi) } while ((pdu = iscsi->waitpdu)) { ISCSI_LIST_REMOVE(&iscsi->waitpdu, pdu); - if (iscsi->is_loggedin && pdu->callback) { - /* If an error happened during connect/login, - we don't want to call any of the callbacks. - */ + if (pdu->callback) { pdu->callback(iscsi, SCSI_STATUS_CANCELLED, NULL, pdu->private_data); }