2018-02-28 14:27:24

by Lorenzo Bianconi

[permalink] [raw]
Subject: [PATCH] mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

Fix the following sparse warning in mt7601u_efuse_physical_size_check:
- drivers/net/wireless/mediatek/mt7601u/eeprom.c:77:27: warning:
Variable length array is used

Signed-off-by: Lorenzo Bianconi <[email protected]>
---
drivers/net/wireless/mediatek/mt7601u/eeprom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mediatek/mt7601u/eeprom.c b/drivers/net/wireless/mediatek/mt7601u/eeprom.c
index da6faea092d6..a462064b5c91 100644
--- a/drivers/net/wireless/mediatek/mt7601u/eeprom.c
+++ b/drivers/net/wireless/mediatek/mt7601u/eeprom.c
@@ -74,7 +74,7 @@ static int
mt7601u_efuse_physical_size_check(struct mt7601u_dev *dev)
{
const int map_reads = DIV_ROUND_UP(MT_EFUSE_USAGE_MAP_SIZE, 16);
- u8 data[map_reads * 16];
+ u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE, 16)];
int ret, i;
u32 start = 0, end = 0, cnt_free;

--
2.14.3


2018-02-28 16:01:23

by Lorenzo Bianconi

[permalink] [raw]
Subject: Re: [PATCH] mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

> On Wed, 2018-02-28 at 15:26 +0100, Lorenzo Bianconi wrote:
>>
>> const int map_reads = DIV_ROUND_UP(MT_EFUSE_USAGE_MAP_SIZE, 16);
>> - u8 data[map_reads * 16];
>> + u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE, 16)];
>>
> You could turn it upside down and make
>
> const int map_reads = ARRAY_SIZE(data);

map_reads is actually 2 since MT_EFUSE_USAGE_MAP_SIZE is 29. Using
ARRAY_SIZE(data) map_reads will be set to 32

Regards,
Lorenzo

>
> johannes

2018-02-28 16:01:59

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

On Wed, 2018-02-28 at 17:01 +0100, Lorenzo Bianconi wrote:
> > On Wed, 2018-02-28 at 15:26 +0100, Lorenzo Bianconi wrote:
> > >
> > > const int map_reads = DIV_ROUND_UP(MT_EFUSE_USAGE_MAP_SIZE, 16);
> > > - u8 data[map_reads * 16];
> > > + u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE, 16)];
> > >
> >
> > You could turn it upside down and make
> >
> > const int map_reads = ARRAY_SIZE(data);
>
> map_reads is actually 2 since MT_EFUSE_USAGE_MAP_SIZE is 29. Using
> ARRAY_SIZE(data) map_reads will be set to 32

Oh yeah, good point, sorry.

johannes

2018-02-28 15:06:08

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

On Wed, 2018-02-28 at 15:26 +0100, Lorenzo Bianconi wrote:
>
> const int map_reads = DIV_ROUND_UP(MT_EFUSE_USAGE_MAP_SIZE, 16);
> - u8 data[map_reads * 16];
> + u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE, 16)];
>
You could turn it upside down and make

const int map_reads = ARRAY_SIZE(data);

johannes

2018-02-28 19:46:55

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH] mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

On Wed, 28 Feb 2018 15:26:57 +0100, Lorenzo Bianconi wrote:
> Fix the following sparse warning in mt7601u_efuse_physical_size_check:
> - drivers/net/wireless/mediatek/mt7601u/eeprom.c:77:27: warning:
> Variable length array is used
>
> Signed-off-by: Lorenzo Bianconi <[email protected]>

Acked-by: Jakub Kicinski <[email protected]>

Thanks Lorenzo!

2018-03-01 10:23:06

by Bas Vermeulen

[permalink] [raw]
Subject: Re: [PATCH] mt7601u: remove a warning in mt7601u_efuse_physical_size_check()



On 28-02-18 15:26, Lorenzo Bianconi wrote:
> Fix the following sparse warning in mt7601u_efuse_physical_size_check:
> - drivers/net/wireless/mediatek/mt7601u/eeprom.c:77:27: warning:
> Variable length array is used
>
> Signed-off-by: Lorenzo Bianconi <[email protected]>
> ---
> drivers/net/wireless/mediatek/mt7601u/eeprom.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/mediatek/mt7601u/eeprom.c b/drivers/net/wireless/mediatek/mt7601u/eeprom.c
> index da6faea092d6..a462064b5c91 100644
> --- a/drivers/net/wireless/mediatek/mt7601u/eeprom.c
> +++ b/drivers/net/wireless/mediatek/mt7601u/eeprom.c
> @@ -74,7 +74,7 @@ static int
> mt7601u_efuse_physical_size_check(struct mt7601u_dev *dev)
> {
> const int map_reads = DIV_ROUND_UP(MT_EFUSE_USAGE_MAP_SIZE, 16);
> - u8 data[map_reads * 16];
> + u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE, 16)];
Shouldn't this be u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE,16)*16]; to
get the
same array size as before?

Bas Vermeulen

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

2018-03-01 10:26:41

by Bas Vermeulen

[permalink] [raw]
Subject: Re: [PATCH] mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

Nevermind. round_up instead of DIV_ROUND_UP.

Bas Vermeulen


On 01-03-18 11:22, Bas Vermeulen wrote:
>
>
> On 28-02-18 15:26, Lorenzo Bianconi wrote:
>> Fix the following sparse warning in mt7601u_efuse_physical_size_check:
>> - drivers/net/wireless/mediatek/mt7601u/eeprom.c:77:27: warning:
>>    Variable length array is used
>>
>> Signed-off-by: Lorenzo Bianconi <[email protected]>
>> ---
>>   drivers/net/wireless/mediatek/mt7601u/eeprom.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/mediatek/mt7601u/eeprom.c
>> b/drivers/net/wireless/mediatek/mt7601u/eeprom.c
>> index da6faea092d6..a462064b5c91 100644
>> --- a/drivers/net/wireless/mediatek/mt7601u/eeprom.c
>> +++ b/drivers/net/wireless/mediatek/mt7601u/eeprom.c
>> @@ -74,7 +74,7 @@ static int
>>   mt7601u_efuse_physical_size_check(struct mt7601u_dev *dev)
>>   {
>>       const int map_reads = DIV_ROUND_UP(MT_EFUSE_USAGE_MAP_SIZE, 16);
>> -    u8 data[map_reads * 16];
>> +    u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE, 16)];
> Shouldn't this be u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE,16)*16]; to
> get the
> same array size as before?
>
> Bas Vermeulen
>


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

2018-03-01 10:51:02

by Lorenzo Bianconi

[permalink] [raw]
Subject: Re: [PATCH] mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

> Nevermind. round_up instead of DIV_ROUND_UP.
>
> Bas Vermeulen
>
>
>
> On 01-03-18 11:22, Bas Vermeulen wrote:
>>
>>
>>
>> On 28-02-18 15:26, Lorenzo Bianconi wrote:
>>>
>>> Fix the following sparse warning in mt7601u_efuse_physical_size_check:
>>> - drivers/net/wireless/mediatek/mt7601u/eeprom.c:77:27: warning:
>>> Variable length array is used
>>>
>>> Signed-off-by: Lorenzo Bianconi <[email protected]>
>>> ---
>>> drivers/net/wireless/mediatek/mt7601u/eeprom.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/wireless/mediatek/mt7601u/eeprom.c
>>> b/drivers/net/wireless/mediatek/mt7601u/eeprom.c
>>> index da6faea092d6..a462064b5c91 100644
>>> --- a/drivers/net/wireless/mediatek/mt7601u/eeprom.c
>>> +++ b/drivers/net/wireless/mediatek/mt7601u/eeprom.c
>>> @@ -74,7 +74,7 @@ static int
>>> mt7601u_efuse_physical_size_check(struct mt7601u_dev *dev)
>>> {
>>> const int map_reads = DIV_ROUND_UP(MT_EFUSE_USAGE_MAP_SIZE, 16);
>>> - u8 data[map_reads * 16];
>>> + u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE, 16)];
>>
>> Shouldn't this be u8 data[round_up(MT_EFUSE_USAGE_MAP_SIZE,16)*16]; to get
>> the
>> same array size as before?
>>
>> Bas Vermeulen
>>

round_up(MT_EFUSE_USAGE_MAP_SIZE, 16) =
(DIV_ROUND_UP(MT_EFUSE_USAGE_MAP_SIZE, 16) * 16) = 32

Regards,
Lorenzo

>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>

2018-03-13 16:33:27

by Kalle Valo

[permalink] [raw]
Subject: Re: mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

Lorenzo Bianconi <[email protected]> wrote:

> Fix the following sparse warning in mt7601u_efuse_physical_size_check:
> - drivers/net/wireless/mediatek/mt7601u/eeprom.c:77:27: warning:
> Variable length array is used
>
> Signed-off-by: Lorenzo Bianconi <[email protected]>
> Acked-by: Jakub Kicinski <[email protected]>

Patch applied to wireless-drivers-next.git, thanks.

3fb2f6a4db98 mt7601u: remove a warning in mt7601u_efuse_physical_size_check()

--
https://patchwork.kernel.org/patch/10247613/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches