aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-11-02 11:36:24 -0400
committerDavid S. Miller <davem@davemloft.net>2018-11-03 22:27:33 -0400
commit92619210529a6b77b2cbedbadba3ff5eaa6e28ed (patch)
tree75d341c7fdb4c8a81d784cd33b6ce573ad4b3bf7 /drivers/net
parente8ccbb7d2f53c62e14b889faaa3f6f809b657278 (diff)
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@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/qlogic/qed/qed_mcp.c7
1 files 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,
1944 struct qed_ptt *p_ptt, u32 *p_speed_mask) 1944 struct qed_ptt *p_ptt, u32 *p_speed_mask)
1945{ 1945{
1946 u32 transceiver_type, transceiver_state; 1946 u32 transceiver_type, transceiver_state;
1947 int ret;
1947 1948
1948 qed_mcp_get_transceiver_data(p_hwfn, p_ptt, &transceiver_state, 1949 ret = qed_mcp_get_transceiver_data(p_hwfn, p_ptt, &transceiver_state,
1949 &transceiver_type); 1950 &transceiver_type);
1951 if (ret)
1952 return ret;
1950 1953
1951 if (qed_is_transceiver_ready(transceiver_state, transceiver_type) == 1954 if (qed_is_transceiver_ready(transceiver_state, transceiver_type) ==
1952 false) 1955 false)