2015-01-08 07:04:23

by Ying Xue

[permalink] [raw]
Subject: [PATCH net-next] mac80211: silent build warnings

Silent the following build warnings:

net/mac80211/mlme.c: In function ‘ieee80211_rx_mgmt_beacon’:
net/mac80211/mlme.c:1348:3: warning: ‘pwr_level_cisco’ may be used uninitialized in this function [-Wuninitialized]
net/mac80211/mlme.c:1315:6: note: ‘pwr_level_cisco’ was declared here

Signed-off-by: Ying Xue <[email protected]>
---
net/mac80211/mlme.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 2c36c47..13b5506 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1312,7 +1312,7 @@ static u32 ieee80211_handle_pwr_constr(struct ieee80211_sub_if_data *sdata,
{
bool has_80211h_pwr = false, has_cisco_pwr = false;
int chan_pwr = 0, pwr_reduction_80211h = 0;
- int pwr_level_cisco, pwr_level_80211h;
+ int pwr_level_cisco = 0, pwr_level_80211h = 0;
int new_ap_level;

if (country_ie && pwr_constr_ie &&
--
1.7.9.5



2015-01-08 07:41:55

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH net-next] mac80211: silent build warnings

On Thu, 2015-01-08 at 15:04 +0800, Ying Xue wrote:
> Silent the following build warnings:
>
> net/mac80211/mlme.c: In function ‘ieee80211_rx_mgmt_beacon’:
> net/mac80211/mlme.c:1348:3: warning: ‘pwr_level_cisco’ may be used uninitialized in this function [-Wuninitialized]
> net/mac80211/mlme.c:1315:6: note: ‘pwr_level_cisco’ was declared here

We seem to get this every year or so... just upgrade your compiler and
it will be smart enough to prove that it's wrong here.

I really *don't* want to shut up the compiler forcefully since it will
cause modern compilers to *not* warn if it actually *is* unused - and 0
is not a useful value - this code is tricky enough and we want compiler
help in case we need to modify it in the future.

johannes


2015-01-08 12:59:46

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH net-next] mac80211: silent build warnings

Hello.

On 1/8/2015 10:04 AM, Ying Xue wrote:

> Silent the following build warnings:

> net/mac80211/mlme.c: In function ‘ieee80211_rx_mgmt_beacon’:
> net/mac80211/mlme.c:1348:3: warning: ‘pwr_level_cisco’ may be used uninitialized in this function [-Wuninitialized]
> net/mac80211/mlme.c:1315:6: note: ‘pwr_level_cisco’ was declared here

> Signed-off-by: Ying Xue <[email protected]>
> ---
> net/mac80211/mlme.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

> diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
> index 2c36c47..13b5506 100644
> --- a/net/mac80211/mlme.c
> +++ b/net/mac80211/mlme.c
> @@ -1312,7 +1312,7 @@ static u32 ieee80211_handle_pwr_constr(struct ieee80211_sub_if_data *sdata,
> {
> bool has_80211h_pwr = false, has_cisco_pwr = false;
> int chan_pwr = 0, pwr_reduction_80211h = 0;
> - int pwr_level_cisco, pwr_level_80211h;
> + int pwr_level_cisco = 0, pwr_level_80211h = 0;

OK, but why are you also initializing the second variable?

WBR, Sergei


2015-01-09 01:00:50

by Ying Xue

[permalink] [raw]
Subject: Re: [PATCH net-next] mac80211: silent build warnings

On 01/08/2015 08:59 PM, Sergei Shtylyov wrote:
> Hello.
>
> On 1/8/2015 10:04 AM, Ying Xue wrote:
>
>> Silent the following build warnings:
>
>> net/mac80211/mlme.c: In function ‘ieee80211_rx_mgmt_beacon’:
>> net/mac80211/mlme.c:1348:3: warning: ‘pwr_level_cisco’ may be used
>> uninitialized in this function [-Wuninitialized]
>> net/mac80211/mlme.c:1315:6: note: ‘pwr_level_cisco’ was declared here
>
>> Signed-off-by: Ying Xue <[email protected]>
>> ---
>> net/mac80211/mlme.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>> diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
>> index 2c36c47..13b5506 100644
>> --- a/net/mac80211/mlme.c
>> +++ b/net/mac80211/mlme.c
>> @@ -1312,7 +1312,7 @@ static u32 ieee80211_handle_pwr_constr(struct
>> ieee80211_sub_if_data *sdata,
>> {
>> bool has_80211h_pwr = false, has_cisco_pwr = false;
>> int chan_pwr = 0, pwr_reduction_80211h = 0;
>> - int pwr_level_cisco, pwr_level_80211h;
>> + int pwr_level_cisco = 0, pwr_level_80211h = 0;
>
> OK, but why are you also initializing the second variable?
>

Although the second variable is not warned in above compile warning
message, but it should be if we take a look at the code associated with it.

However, as Johannes confirmed, the first change is unnecessary at all.
So please ignore the patch.

Thanks,
Ying

> WBR, Sergei
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>


2015-01-08 07:46:34

by Ying Xue

[permalink] [raw]
Subject: Re: [PATCH net-next] mac80211: silent build warnings

On 01/08/2015 03:41 PM, Johannes Berg wrote:
> On Thu, 2015-01-08 at 15:04 +0800, Ying Xue wrote:
>> Silent the following build warnings:
>>
>> net/mac80211/mlme.c: In function ‘ieee80211_rx_mgmt_beacon’:
>> net/mac80211/mlme.c:1348:3: warning: ‘pwr_level_cisco’ may be used uninitialized in this function [-Wuninitialized]
>> net/mac80211/mlme.c:1315:6: note: ‘pwr_level_cisco’ was declared here
>
> We seem to get this every year or so... just upgrade your compiler and
> it will be smart enough to prove that it's wrong here.
>
> I really *don't* want to shut up the compiler forcefully since it will
> cause modern compilers to *not* warn if it actually *is* unused - and 0
> is not a useful value - this code is tricky enough and we want compiler
> help in case we need to modify it in the future.
>

Thank for your explanation, and please ignore the noise.

Regards,
Ying

> johannes
>
>
>