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
> 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
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
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
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!
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.
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.
> 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.
>
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