diff options
author | Sara Sharon <sara.sharon@intel.com> | 2016-01-26 05:35:13 -0500 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2016-02-01 09:40:28 -0500 |
commit | d56a7801b544d63b0d32bc8bca0c12a259b1d8e9 (patch) | |
tree | 4291f3af1d361a6d3a9d5f54d9c2253edbb77fa6 | |
parent | bce977310416a2b6c9ad774dfe2071eaacd3d90b (diff) |
iwlwifi: pcie: update iwl_mpdu_desc fields
Final API of iwl_mpdu_desc has a change in the order of
the fields and does not include energy from the third
antenna (which is perfectly fine, since we don't have one).
Update the structure accordingly.
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h | 6 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 11 |
2 files changed, 7 insertions, 10 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h b/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h index b45c61e1f45c..df939f51d9b9 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h | |||
@@ -347,11 +347,11 @@ struct iwl_rx_mpdu_desc { | |||
347 | /* DW8 */ | 347 | /* DW8 */ |
348 | __le32 filter_match; | 348 | __le32 filter_match; |
349 | /* DW9 */ | 349 | /* DW9 */ |
350 | __le32 gp2_on_air_rise; | ||
351 | /* DW10 */ | ||
352 | __le32 rate_n_flags; | 350 | __le32 rate_n_flags; |
351 | /* DW10 */ | ||
352 | u8 energy_a, energy_b, channel, reserved; | ||
353 | /* DW11 */ | 353 | /* DW11 */ |
354 | u8 energy_a, energy_b, energy_c, channel; | 354 | __le32 gp2_on_air_rise; |
355 | /* DW12 & DW13 */ | 355 | /* DW12 & DW13 */ |
356 | __le64 tsf_on_air_rise; | 356 | __le64 tsf_on_air_rise; |
357 | } __packed; | 357 | } __packed; |
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c index 4cce37238a08..615dea143d4e 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | |||
@@ -201,25 +201,22 @@ static void iwl_mvm_get_signal_strength(struct iwl_mvm *mvm, | |||
201 | struct iwl_rx_mpdu_desc *desc, | 201 | struct iwl_rx_mpdu_desc *desc, |
202 | struct ieee80211_rx_status *rx_status) | 202 | struct ieee80211_rx_status *rx_status) |
203 | { | 203 | { |
204 | int energy_a, energy_b, energy_c, max_energy; | 204 | int energy_a, energy_b, max_energy; |
205 | 205 | ||
206 | energy_a = desc->energy_a; | 206 | energy_a = desc->energy_a; |
207 | energy_a = energy_a ? -energy_a : S8_MIN; | 207 | energy_a = energy_a ? -energy_a : S8_MIN; |
208 | energy_b = desc->energy_b; | 208 | energy_b = desc->energy_b; |
209 | energy_b = energy_b ? -energy_b : S8_MIN; | 209 | energy_b = energy_b ? -energy_b : S8_MIN; |
210 | energy_c = desc->energy_c; | ||
211 | energy_c = energy_c ? -energy_c : S8_MIN; | ||
212 | max_energy = max(energy_a, energy_b); | 210 | max_energy = max(energy_a, energy_b); |
213 | max_energy = max(max_energy, energy_c); | ||
214 | 211 | ||
215 | IWL_DEBUG_STATS(mvm, "energy In A %d B %d C %d , and max %d\n", | 212 | IWL_DEBUG_STATS(mvm, "energy In A %d B %d, and max %d\n", |
216 | energy_a, energy_b, energy_c, max_energy); | 213 | energy_a, energy_b, max_energy); |
217 | 214 | ||
218 | rx_status->signal = max_energy; | 215 | rx_status->signal = max_energy; |
219 | rx_status->chains = 0; /* TODO: phy info */ | 216 | rx_status->chains = 0; /* TODO: phy info */ |
220 | rx_status->chain_signal[0] = energy_a; | 217 | rx_status->chain_signal[0] = energy_a; |
221 | rx_status->chain_signal[1] = energy_b; | 218 | rx_status->chain_signal[1] = energy_b; |
222 | rx_status->chain_signal[2] = energy_c; | 219 | rx_status->chain_signal[2] = S8_MIN; |
223 | } | 220 | } |
224 | 221 | ||
225 | static int iwl_mvm_rx_crypto(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr, | 222 | static int iwl_mvm_rx_crypto(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr, |