nl80211: use loop index as type for net detect frequency results

We currently add nested members of the NL80211_ATTR_SCAN_FREQUENCIES
as NLA_U32 attributes of type NL80211_ATTR_WIPHY_FREQ in
cfg80211_net_detect_results. However, since there can be an arbitrary number of
frequency results, we should use the loop index of the loop used to add the
frequency results to NL80211_ATTR_SCAN_FREQUENCIES as the type (i.e. nla_type)
for each result attribute, rather than a fixed type.

This change is in line with how nested members are added to
NL80211_ATTR_SCAN_FREQUENCIES in the functions nl80211_send_wowlan_nd and
nl80211_add_scan_req.

Signed-off-by: Samuel Tan <samueltan@chromium.org>
Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Samuel Tan 2015-02-09 21:29:15 +02:00 committed by Johannes Berg
parent 104f5a6206
commit 5528fae886

View File

@ -12528,9 +12528,7 @@ static int cfg80211_net_detect_results(struct sk_buff *msg,
} }
for (j = 0; j < match->n_channels; j++) { for (j = 0; j < match->n_channels; j++) {
if (nla_put_u32(msg, if (nla_put_u32(msg, j, match->channels[j])) {
NL80211_ATTR_WIPHY_FREQ,
match->channels[j])) {
nla_nest_cancel(msg, nl_freqs); nla_nest_cancel(msg, nl_freqs);
nla_nest_cancel(msg, nl_match); nla_nest_cancel(msg, nl_match);
goto out; goto out;