Commit 34118c25 authored by Sara Sharon's avatar Sara Sharon Committed by Luca Coelho

iwlwifi: mvm: support version 2 of stored beacon notification

For 9000 devices withg upload, FW cannot send the entire phy
flags, and will send only the band - which is what we really
care about anyway. Change is backward compatible.
Signed-off-by: default avatarSara Sharon <sara.sharon@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 5ec295db
...@@ -2075,7 +2075,7 @@ struct iwl_mu_group_mgmt_notif { ...@@ -2075,7 +2075,7 @@ struct iwl_mu_group_mgmt_notif {
* @system_time: system time on air rise * @system_time: system time on air rise
* @tsf: TSF on air rise * @tsf: TSF on air rise
* @beacon_timestamp: beacon on air rise * @beacon_timestamp: beacon on air rise
* @phy_flags: general phy flags: band, modulation, etc. * @band: band, matches &RX_RES_PHY_FLAGS_BAND_24 definition
* @channel: channel this beacon was received on * @channel: channel this beacon was received on
* @rates: rate in ucode internal format * @rates: rate in ucode internal format
* @byte_count: frame's byte count * @byte_count: frame's byte count
...@@ -2084,12 +2084,12 @@ struct iwl_stored_beacon_notif { ...@@ -2084,12 +2084,12 @@ struct iwl_stored_beacon_notif {
__le32 system_time; __le32 system_time;
__le64 tsf; __le64 tsf;
__le32 beacon_timestamp; __le32 beacon_timestamp;
__le16 phy_flags; __le16 band;
__le16 channel; __le16 channel;
__le32 rates; __le32 rates;
__le32 byte_count; __le32 byte_count;
u8 data[MAX_STORED_BEACON_SIZE]; u8 data[MAX_STORED_BEACON_SIZE];
} __packed; /* WOWLAN_STROED_BEACON_INFO_S_VER_1 */ } __packed; /* WOWLAN_STROED_BEACON_INFO_S_VER_2 */
#define LQM_NUMBER_OF_STATIONS_IN_REPORT 16 #define LQM_NUMBER_OF_STATIONS_IN_REPORT 16
......
...@@ -1565,7 +1565,7 @@ void iwl_mvm_rx_stored_beacon_notif(struct iwl_mvm *mvm, ...@@ -1565,7 +1565,7 @@ void iwl_mvm_rx_stored_beacon_notif(struct iwl_mvm *mvm,
rx_status.flag |= RX_FLAG_MACTIME_PLCP_START; rx_status.flag |= RX_FLAG_MACTIME_PLCP_START;
rx_status.device_timestamp = le32_to_cpu(sb->system_time); rx_status.device_timestamp = le32_to_cpu(sb->system_time);
rx_status.band = rx_status.band =
(sb->phy_flags & cpu_to_le16(RX_RES_PHY_FLAGS_BAND_24)) ? (sb->band & cpu_to_le16(RX_RES_PHY_FLAGS_BAND_24)) ?
NL80211_BAND_2GHZ : NL80211_BAND_5GHZ; NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
rx_status.freq = rx_status.freq =
ieee80211_channel_to_frequency(le16_to_cpu(sb->channel), ieee80211_channel_to_frequency(le16_to_cpu(sb->channel),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment