mac80211: Do not use sizeof() on pointer type
authorThierry Reding <treding@nvidia.com>
Wed, 26 Aug 2015 10:22:14 +0000 (12:22 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 4 Sep 2015 12:23:08 +0000 (14:23 +0200)
The rate_control_cap_mask() function takes a parameter mcs_mask, which
GCC will take to be u8 * even though it was declared with a fixed size.
This causes the following warning:

net/mac80211/rate.c: In function 'rate_control_cap_mask':
net/mac80211/rate.c:719:25: warning: 'sizeof' on array function parameter 'mcs_mask' will return size of 'u8 * {aka unsigned char *}' [-Wsizeof-array-argument]
   for (i = 0; i < sizeof(mcs_mask); i++)
                         ^
net/mac80211/rate.c:684:10: note: declared here
       u8 mcs_mask[IEEE80211_HT_MCS_MASK_LEN],
          ^

This can be easily fixed by using the IEEE80211_HT_MCS_MASK_LEN directly
within the loop condition.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/rate.c

index 9857693b91ec721ff71e3f3cd1087ccc289912e1..9ce8883d5f449ed438f0a4a4a4807ede153c6725 100644 (file)
@@ -716,7 +716,7 @@ static bool rate_control_cap_mask(struct ieee80211_sub_if_data *sdata,
 
                /* Filter out rates that the STA does not support */
                *mask &= sta->supp_rates[sband->band];
-               for (i = 0; i < sizeof(mcs_mask); i++)
+               for (i = 0; i < IEEE80211_HT_MCS_MASK_LEN; i++)
                        mcs_mask[i] &= sta->ht_cap.mcs.rx_mask[i];
 
                sta_vht_cap = sta->vht_cap.vht_mcs.rx_mcs_map;