[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181102153632.1646632-1-arnd@arndb.de>
Date: Fri, 2 Nov 2018 16:36:24 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Ariel Elior <Ariel.Elior@...ium.com>, everest-linux-l2@...ium.com,
"David S. Miller" <davem@...emloft.net>
Cc: Arnd Bergmann <arnd@...db.de>,
Sudarsana Reddy Kalluru <sudarsana.kalluru@...ium.com>,
Tomer Tayar <Tomer.Tayar@...ium.com>,
Denis Bolotin <denis.bolotin@...ium.com>,
Rahul Verma <Rahul.Verma@...ium.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] qed: fix link config error handling
gcc-8 notices that qed_mcp_get_transceiver_data() may fail to
return a result to the caller:
drivers/net/ethernet/qlogic/qed/qed_mcp.c: In function 'qed_mcp_trans_speed_mask':
drivers/net/ethernet/qlogic/qed/qed_mcp.c:1955:2: error: 'transceiver_type' may be used uninitialized in this function [-Werror=maybe-uninitialized]
When an error is returned by qed_mcp_get_transceiver_data(), we
should propagate that to the caller of qed_mcp_trans_speed_mask()
rather than continuing with uninitialized data.
Fixes: c56a8be7e7aa ("qed: Add supported link and advertise link to display in ethtool.")
Signed-off-by: Arnd Bergmann <arnd@...db.de>
---
drivers/net/ethernet/qlogic/qed/qed_mcp.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qed/qed_mcp.c b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
index f40f654398a0..a96364df4320 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
@@ -1944,9 +1944,12 @@ int qed_mcp_trans_speed_mask(struct qed_hwfn *p_hwfn,
struct qed_ptt *p_ptt, u32 *p_speed_mask)
{
u32 transceiver_type, transceiver_state;
+ int ret;
- qed_mcp_get_transceiver_data(p_hwfn, p_ptt, &transceiver_state,
- &transceiver_type);
+ ret = qed_mcp_get_transceiver_data(p_hwfn, p_ptt, &transceiver_state,
+ &transceiver_type);
+ if (ret)
+ return ret;
if (qed_is_transceiver_ready(transceiver_state, transceiver_type) ==
false)
--
2.18.0
Powered by blists - more mailing lists