2011-02-27 21:16:40

by Alessio Igor Bogani

[permalink] [raw]
Subject: [PATCH] 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

Signed-off-by: Alessio Igor Bogani <[email protected]>
---
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
index bf5852f..593eb8e 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
@@ -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;
--
1.7.4.1



2011-02-27 21:58:10

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] rtlwifi: make gcc happy

On 02/27/2011 03:16 PM, Alessio Igor Bogani wrote:
> 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
>
> Signed-off-by: Alessio Igor Bogani<[email protected]>
> ---
> drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
> index bf5852f..593eb8e 100644
> --- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
> +++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
> @@ -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;


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

Larry


2011-02-28 00:38:44

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] rtlwifi: make gcc happy

On Sun, Feb 27, 2011 at 10:16:30PM +0100, Alessio Igor Bogani wrote:
> 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

2011-02-28 18:31:57

by Larry Finger

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

On 02/28/2011 02:11 AM, Alessio Igor Bogani wrote:
> 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.
>
> Signed-off-by: Alessio Igor Bogani<[email protected]>
> ---
> drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
> index bf5852f..593eb8e 100644
> --- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
> +++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
> @@ -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;

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

Larry

2011-02-28 09:12:15

by Alessio Igor Bogani

[permalink] [raw]
Subject: [PATCH] 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.

Signed-off-by: Alessio Igor Bogani <[email protected]>
---
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
index bf5852f..593eb8e 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
@@ -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;
--
1.7.0.4