From: Michal Kazior Date: Tue, 22 Oct 2013 12:50:07 +0000 (+0300) Subject: nl80211: Fix DFS radar event parsing X-Git-Tag: hostap_2_1~808 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd3b0700df3cdbe6f5db89b7502cb4dd374375ca;p=thirdparty%2Fhostap.git nl80211: Fix DFS radar event parsing Incorrect nla_get variants were used to get event type and frequency. Kernel passes both as u32. This caused issues on tinynl/big-endian hosts - CAC finished was treated as radar detection and frequency was 0. Signed-hostap: Michal Kazior --- diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 9539c0fad..30a8bb198 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -2510,8 +2510,8 @@ static void nl80211_radar_event(struct wpa_driver_nl80211_data *drv, return; os_memset(&data, 0, sizeof(data)); - data.dfs_event.freq = nla_get_u16(tb[NL80211_ATTR_WIPHY_FREQ]); - event_type = nla_get_u8(tb[NL80211_ATTR_RADAR_EVENT]); + data.dfs_event.freq = nla_get_u32(tb[NL80211_ATTR_WIPHY_FREQ]); + event_type = nla_get_u32(tb[NL80211_ATTR_RADAR_EVENT]); /* Check HT params */ if (tb[NL80211_ATTR_WIPHY_CHANNEL_TYPE]) {