Skip to contentSkip to conversation

rtlwifi: make gcc happy

PATCH In review Alessio Igor Bogani 3 participants 5 messages Feb 27, 2011 – Feb 28, 2011 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 rtlwifi: make gcc happy

drivers/net/wireless/rtlwifi/rtl8192ce/trx.c: In function ‘rtl92ce_rx_query_desc’:
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:255:5: warning: ‘rf_rx_num’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:257:12: warning: ‘total_rssi’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:466:6: warning: ‘weighting’ may be used uninitialized in this function

---
 drivers/net/wireless/rtlwifi/rtl8192ce/trx.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +3 -3
index bf5852f..593eb8e 100644
@@ -252,9 +252,9 @@ static void _rtl92ce_query_rxphystatus(struct ieee80211_hw *hw,
 	struct rtl_priv *rtlpriv = rtl_priv(hw);
 	struct phy_sts_cck_8192s_t *cck_buf;
 	s8 rx_pwr_all, rx_pwr[4];
-	u8 rf_rx_num, evm, pwdb_all;
+	u8 evm, pwdb_all, rf_rx_num = 0;
 	u8 i, max_spatial_stream;
-	u32 rssi, total_rssi;
+	u32 rssi, total_rssi = 0;
 	bool is_cck_rate;
 
 	is_cck_rate = RX_HAL_IS_CCK_RATE(pdesc);
@@ -463,7 +463,7 @@ static void _rtl92ce_update_rxsignalstatistics(struct ieee80211_hw *hw,
 					       struct rtl_stats *pstats)
 {
 	struct rtl_priv *rtlpriv = rtl_priv(hw);
-	int weighting;
+	int weighting = 0;
 
 	if (rtlpriv->stats.recv_signal_power == 0)
 		rtlpriv->stats.recv_signal_power = pstats->recvsignalpower;
Signature · 1 line
1.7.4.1
#1 lore raw
Quoted 27 lines · Alessio Igor Bogani

drivers/net/wireless/rtlwifi/rtl8192ce/trx.c: In function ‘rtl92ce_rx_query_desc’:
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:255:5: warning: ‘rf_rx_num’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:257:12: warning: ‘total_rssi’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:466:6: warning: ‘weighting’ may be used uninitialized in this function

---
  drivers/net/wireless/rtlwifi/rtl8192ce/trx.c |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +2 -2
index bf5852f..593eb8e 100644
@@ -252,9 +252,9 @@ static void _rtl92ce_query_rxphystatus(struct ieee80211_hw *hw,
  	struct rtl_priv *rtlpriv = rtl_priv(hw);
  	struct phy_sts_cck_8192s_t *cck_buf;
  	s8 rx_pwr_all, rx_pwr[4];
-	u8 rf_rx_num, evm, pwdb_all;
+	u8 evm, pwdb_all, rf_rx_num = 0;
  	u8 i, max_spatial_stream;
-	u32 rssi, total_rssi;
+	u32 rssi, total_rssi = 0;
  	bool is_cck_rate;
 
  	is_cck_rate = RX_HAL_IS_CCK_RATE(pdesc);

drivers/net/wireless/rtlwifi/rtl8192ce/trx.c static void _rtl92ce_update_rxsignalstatistics(struct ieee80211_hw *hw, · line 469

Quoted 8 lines
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +1 -1
@@ -463,7 +463,7 @@ static void _rtl92ce_update_rxsignalstatistics(struct ieee80211_hw *hw,
  					       struct rtl_stats *pstats)
  {
  	struct rtl_priv *rtlpriv = rtl_priv(hw);
-	int weighting;
+	int weighting = 0;
 
  	if (rtlpriv->stats.recv_signal_power == 0)
  		rtlpriv->stats.recv_signal_power = pstats->recvsignalpower;

ACK. What architecture and compiler version are you using? On x86_64, gcc 4.5.1 does not show these warnings.

Larry

#2 lore raw
In reply to Alessio Igor Bogani
Quoted 5 lines · Alessio Igor Bogani

drivers/net/wireless/rtlwifi/rtl8192ce/trx.c: In function ‘rtl92ce_rx_query_desc’:
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:255:5: warning: ‘rf_rx_num’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:257:12: warning: ‘total_rssi’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:466:6: warning: ‘weighting’ may be used uninitialized in this function

These fix actual bugs where uninitialized values are used; it's not just a matter of silencing warnings. The patch title should mention that. Perhaps something like:

[patch] rtlwifi: fix places where uninitialized data is used

regards,
dan carpenter

#3 lore raw

PATCH 1/1 rtlwifi: fix places where uninitialized data is used

drivers/net/wireless/rtlwifi/rtl8192ce/trx.c: In function ‘rtl92ce_rx_query_desc’:
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:255:5: warning: ‘rf_rx_num’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:257:12: warning: ‘total_rssi’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:466:6: warning: ‘weighting’ may be used uninitialized in this function

This work was supported by a hardware donation from the CE Linux Forum.

---
 drivers/net/wireless/rtlwifi/rtl8192ce/trx.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +3 -3
index bf5852f..593eb8e 100644
@@ -252,9 +252,9 @@ static void _rtl92ce_query_rxphystatus(struct ieee80211_hw *hw,
 	struct rtl_priv *rtlpriv = rtl_priv(hw);
 	struct phy_sts_cck_8192s_t *cck_buf;
 	s8 rx_pwr_all, rx_pwr[4];
-	u8 rf_rx_num, evm, pwdb_all;
+	u8 evm, pwdb_all, rf_rx_num = 0;
 	u8 i, max_spatial_stream;
-	u32 rssi, total_rssi;
+	u32 rssi, total_rssi = 0;
 	bool is_cck_rate;
 
 	is_cck_rate = RX_HAL_IS_CCK_RATE(pdesc);
@@ -463,7 +463,7 @@ static void _rtl92ce_update_rxsignalstatistics(struct ieee80211_hw *hw,
 					       struct rtl_stats *pstats)
 {
 	struct rtl_priv *rtlpriv = rtl_priv(hw);
-	int weighting;
+	int weighting = 0;
 
 	if (rtlpriv->stats.recv_signal_power == 0)
 		rtlpriv->stats.recv_signal_power = pstats->recvsignalpower;
Signature · 1 line
1.7.0.4
#4 lore raw

Re: [PATCH] rtlwifi: fix places where uninitialized data is used

Quoted 29 lines · Alessio Igor Bogani

drivers/net/wireless/rtlwifi/rtl8192ce/trx.c: In function ‘rtl92ce_rx_query_desc’:
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:255:5: warning: ‘rf_rx_num’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:257:12: warning: ‘total_rssi’ may be used uninitialized in this function drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:466:6: warning: ‘weighting’ may be used uninitialized in this function

This work was supported by a hardware donation from the CE Linux Forum.

---
  drivers/net/wireless/rtlwifi/rtl8192ce/trx.c |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +2 -2
index bf5852f..593eb8e 100644
@@ -252,9 +252,9 @@ static void _rtl92ce_query_rxphystatus(struct ieee80211_hw *hw,
  	struct rtl_priv *rtlpriv = rtl_priv(hw);
  	struct phy_sts_cck_8192s_t *cck_buf;
  	s8 rx_pwr_all, rx_pwr[4];
-	u8 rf_rx_num, evm, pwdb_all;
+	u8 evm, pwdb_all, rf_rx_num = 0;
  	u8 i, max_spatial_stream;
-	u32 rssi, total_rssi;
+	u32 rssi, total_rssi = 0;
  	bool is_cck_rate;
 
  	is_cck_rate = RX_HAL_IS_CCK_RATE(pdesc);

drivers/net/wireless/rtlwifi/rtl8192ce/trx.c static void _rtl92ce_update_rxsignalstatistics(struct ieee80211_hw *hw, · line 469

Quoted 8 lines
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c +1 -1
@@ -463,7 +463,7 @@ static void _rtl92ce_update_rxsignalstatistics(struct ieee80211_hw *hw,
  					       struct rtl_stats *pstats)
  {
  	struct rtl_priv *rtlpriv = rtl_priv(hw);
-	int weighting;
+	int weighting = 0;
 
  	if (rtlpriv->stats.recv_signal_power == 0)
  		rtlpriv->stats.recv_signal_power = pstats->recvsignalpower;

ACK. Obviously gcc 4.5.1 has a bug and misses these, whereas 4.5.2 finds them.

Larry