diff mbox series

qla2xxx: Fix START_SP_W_RETRIES returns positive EINVAL

Message ID PU4P216MB228137E6848B4C5BB032D577FD562@PU4P216MB2281.KORP216.PROD.OUTLOOK.COM (mailing list archive)
State New
Headers show
Series qla2xxx: Fix START_SP_W_RETRIES returns positive EINVAL | expand

Commit Message

(학생) 장인규 (컴퓨터공학과) Nov. 1, 2024, 12:24 a.m. UTC
From 6e78ff23b9f11f6896c09299e0a38b4443420eed Mon Sep 17 00:00:00 2001
From: Ingyu Jang <ingyujang25@unist.ac.kr>
Date: Fri, 1 Nov 2024 09:05:44 +0900
Subject: [PATCH] qla2xxx: Fix START_SP_W_RETRIES returns positive EINVAL

The START_SP_W_RETRIES macro previously returned a positive EINVAL code
when chip generation or login generation mismatches were detected,
potentially leading to improper error handling in caller functions and
creating security risks if the error state was misinterpreted.

This patch updates the macro to return -EINVAL, aligning with kernel
error handling conventions and mitigating unintended behavior in
error handling.

Signed-off-by: Ingyu Jang <ingyujang25@unist.ac.kr>
---
 drivers/scsi/qla2xxx/qla_init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 31fc6a0eca3e..089d560e4114 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -2059,7 +2059,7 @@  static void qla_marker_sp_done(srb_t *sp, int res)
 	int cnt = 5; \
 	do { \
 		if (_chip_gen != sp->vha->hw->chip_reset || _login_gen != sp->fcport->login_gen) {\
-			_rval = EINVAL; \
+			_rval = -EINVAL; \
 			break; \
 		} \
 		_rval = qla2x00_start_sp(_sp); \