[PATCH v2 3/3] scsi: qla2xxx: Remove incorrect trap

Anastasia Kovaleva
2024-10-09T11:17:49Z

This BUG_ON() is triggered when there is no fc_port with a certain
loop ID in the scsi host vp_fcports list, but there is one in
lport_loopid_map. As these two data structures do not change
simultaneously and atomically, such a trap is invalid.

Cc: stable@vger.kernel.org
Fixes: 726b85487067 ("qla2xxx: Add framework for async fabric discovery")
Signed-off-by: Anastasia Kovaleva <a.kovaleva@yadro.com>
Reviewed-by: Dmitry Bogdanov <d.bogdanov@yadro.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
---
drivers/scsi/qla2xxx/qla_target.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
index bc6b014eb422..492fc1627354 100644
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@ -5190,15 +5190,7 @@ static int qlt_24xx_handle_els(struct scsi_qla_host *vha,
ql_dbg(ql_dbg_disc, vha, 0x20fc,
"%s: logo %llx res %d sess %p ",
__func__, wwn, res, sess);
- if (res == 0) {
- /*
- * cmd went upper layer, look for qlt_xmit_tm_rsp()
- * for LOGO_ACK & sess delete
- */
- BUG_ON(!sess);
- res = 0;
- } else {
- /* cmd did not go to upper layer. */
+ if (res) {
if (sess) {
qlt_schedule_sess_for_deletion(sess);
res = 0;
--
2.40.1