]> 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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Oct 2025 09:56:34 +0000 (11:56 +0200)
[ Upstream commit 1f037e3acda79639a78f096355f2c308a3d45492 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_init.c

index 682e74196f4b011399bac02e2910f3e129710831..d2243f809616df6dac72861a2eea8b30b3a9398e 100644 (file)
@@ -2060,11 +2060,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; \