]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: qla2xxx: Fix incorrect sign of error code in START_SP_W_RETRIES()
authorQianfeng Rong <rongqianfeng@vivo.com>
Fri, 5 Sep 2025 07:54:44 +0000 (15:54 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 17 Sep 2025 02:05:00 +0000 (22:05 -0400)
Change the error code EAGAIN to -EAGAIN in START_SP_W_RETRIES() to align
with qla2x00_start_sp() returning negative error codes or QLA_SUCCESS,
preventing logical errors.  Additionally, the '_rval' variable should
store negative error codes to conform to Linux kernel error code
conventions.

Fixes: 9803fb5d2759 ("scsi: qla2xxx: Fix task management cmd failure")
Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Message-ID: <20250905075446.381139-3-rongqianfeng@vivo.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_init.c

index be211ff22acbd1495dd564ad8495a7c028e695f1..6a2e1c7fd1251a3203870b1b1bbf5ec8d0b991d7 100644 (file)
@@ -2059,11 +2059,11 @@ 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); \
-               if (_rval == EAGAIN) \
+               if (_rval == -EAGAIN) \
                        msleep(1); \
                else \
                        break; \