[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250727231750.25626-1-27392025k@gmail.com>
Date: Sun, 27 Jul 2025 16:17:50 -0700
From: Tian <27392025k@...il.com>
To: irusskikh@...vell.com,
netdev@...r.kernel.org
Cc: andrew+netdev@...n.ch,
davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
linux-kernel@...r.kernel.org,
tian <27392025k@...il.com>
Subject: [PATCH] net: atlantic: fix overwritten return value in Aquantia driver
From: tian <27392025k@...il.com>
In hw_atl_utils.c and hw_atl_utils_fw2x.c, a return value is set and then
immediately overwritten by another call, which causes the original result
to be lost. This may hide errors that should be returned to the caller.
This patch fixes the logic to preserve the intended return values.
Signed-off-by: tian <27392025k@...il.com>
---
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c | 2 +-
.../net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
index 7e88d7234b14..372f30e296ec 100644
--- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
@@ -492,7 +492,7 @@ static int hw_atl_utils_init_ucp(struct aq_hw_s *self,
self, self->mbox_addr,
self->mbox_addr != 0U,
1000U, 10000U);
- err = readx_poll_timeout_atomic(aq_fw1x_rpc_get, self,
+ err |= readx_poll_timeout_atomic(aq_fw1x_rpc_get, self,
self->rpc_addr,
self->rpc_addr != 0U,
1000U, 100000U);
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c
index 4d4cfbc91e19..45b7720fd49e 100644
--- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c
+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c
@@ -102,12 +102,12 @@ static int aq_fw2x_init(struct aq_hw_s *self)
self->mbox_addr != 0U,
1000U, 10000U);
- err = readx_poll_timeout_atomic(aq_fw2x_rpc_get,
+ err |= readx_poll_timeout_atomic(aq_fw2x_rpc_get,
self, self->rpc_addr,
self->rpc_addr != 0U,
1000U, 100000U);
- err = aq_fw2x_settings_get(self, &self->settings_addr);
+ err |= aq_fw2x_settings_get(self, &self->settings_addr);
return err;
}
--
2.39.5 (Apple Git-154)
Powered by blists - more mailing lists