Michal Suchanek f00c0c
From 6881b07fdd24850def1f03761c66042b983ff86e Mon Sep 17 00:00:00 2001
Michal Suchanek f00c0c
From: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek f00c0c
Date: Tue, 2 Mar 2021 20:47:47 +0100
Michal Suchanek f00c0c
Subject: [PATCH] ibmvnic: Fix possibly uninitialized old_num_tx_queues
Michal Suchanek f00c0c
 variable warning.
Michal Suchanek f00c0c
Michal Suchanek f00c0c
References: bsc#1184114 ltc#192237
Michal Suchanek f00c0c
Patch-mainline: v5.12-rc3
Michal Suchanek f00c0c
Git-commit: 6881b07fdd24850def1f03761c66042b983ff86e
Michal Suchanek f00c0c
Michal Suchanek f00c0c
GCC 7.5 reports:
Michal Suchanek f00c0c
../drivers/net/ethernet/ibm/ibmvnic.c: In function 'ibmvnic_reset_init':
Michal Suchanek f00c0c
../drivers/net/ethernet/ibm/ibmvnic.c:5373:51: warning: 'old_num_tx_queues' may be used uninitialized in this function [-Wmaybe-uninitialized]
Michal Suchanek f00c0c
../drivers/net/ethernet/ibm/ibmvnic.c:5373:6: warning: 'old_num_rx_queues' may be used uninitialized in this function [-Wmaybe-uninitialized]
Michal Suchanek f00c0c
Michal Suchanek f00c0c
The variable is initialized only if(reset) and used only if(reset &&
Michal Suchanek f00c0c
something) so this is a false positive. However, there is no reason to
Michal Suchanek f00c0c
not initialize the variables unconditionally avoiding the warning.
Michal Suchanek f00c0c
Michal Suchanek f00c0c
Fixes: 635e442f4a48 ("ibmvnic: merge ibmvnic_reset_init and ibmvnic_init")
Michal Suchanek f00c0c
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek f00c0c
Reviewed-by: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
Michal Suchanek f00c0c
Signed-off-by: David S. Miller <davem@davemloft.net>
Michal Suchanek f00c0c
---
Michal Suchanek f00c0c
 drivers/net/ethernet/ibm/ibmvnic.c | 8 +++-----
Michal Suchanek f00c0c
 1 file changed, 3 insertions(+), 5 deletions(-)
Michal Suchanek f00c0c
Michal Suchanek f00c0c
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
Michal Suchanek f00c0c
index 118a4bd3f877..3bad762083c5 100644
Michal Suchanek f00c0c
--- a/drivers/net/ethernet/ibm/ibmvnic.c
Michal Suchanek f00c0c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
Michal Suchanek f00c0c
@@ -5219,16 +5219,14 @@ static int ibmvnic_reset_init(struct ibmvnic_adapter *adapter, bool reset)
Michal Suchanek f00c0c
 {
Michal Suchanek f00c0c
 	struct device *dev = &adapter->vdev->dev;
Michal Suchanek f00c0c
 	unsigned long timeout = msecs_to_jiffies(20000);
Michal Suchanek f00c0c
-	u64 old_num_rx_queues, old_num_tx_queues;
Michal Suchanek f00c0c
+	u64 old_num_rx_queues = adapter->req_rx_queues;
Michal Suchanek f00c0c
+	u64 old_num_tx_queues = adapter->req_tx_queues;
Michal Suchanek f00c0c
 	int rc;
Michal Suchanek f00c0c
 
Michal Suchanek f00c0c
 	adapter->from_passive_init = false;
Michal Suchanek f00c0c
 
Michal Suchanek f00c0c
-	if (reset) {
Michal Suchanek f00c0c
-		old_num_rx_queues = adapter->req_rx_queues;
Michal Suchanek f00c0c
-		old_num_tx_queues = adapter->req_tx_queues;
Michal Suchanek f00c0c
+	if (reset)
Michal Suchanek f00c0c
 		reinit_completion(&adapter->init_done);
Michal Suchanek f00c0c
-	}
Michal Suchanek f00c0c
 
Michal Suchanek f00c0c
 	adapter->init_done_rc = 0;
Michal Suchanek f00c0c
 	rc = ibmvnic_send_crq_init(adapter);
Michal Suchanek f00c0c
-- 
Michal Suchanek f00c0c
2.26.2
Michal Suchanek f00c0c