summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-09-24 18:29:00 +0200
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2015-12-01 21:17:52 +0200
commita399f98069743a9a17f85a406b4dc36c059f75ca (patch)
tree8de3e37b6aa9f9e19b85261013f4e775423922f7 /drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
parent04b089922412ad3d0cee0046fd0cb495ef22b8e8 (diff)
downloadlinux-a399f98069743a9a17f85a406b4dc36c059f75ca.tar.gz
linux-a399f98069743a9a17f85a406b4dc36c059f75ca.tar.bz2
linux-a399f98069743a9a17f85a406b4dc36c059f75ca.zip
iwlwifi: mvm: use firmware station lookup, combine code
In most cases, the firmware will already match the station that we received a given frame from and tell us the station ID in the RX status, so we can look up the station from that. This lets us skip the (more expensive) hash table lookup in mac80211. Also change the fallback case (no station info from the firmware) to not attempt to look up a multicast source address. While at it, also combine all the code using the station into a single if block. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h3
1 files changed, 2 insertions, 1 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 9b7e49d4620f..d7903226313f 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
@@ -229,7 +229,8 @@ enum iwl_mvm_rx_status {
RX_MPDU_RES_STATUS_CSUM_DONE = BIT(16),
RX_MPDU_RES_STATUS_CSUM_OK = BIT(17),
RX_MPDU_RES_STATUS_HASH_INDEX_MSK = (0x3F0000),
- RX_MPDU_RES_STATUS_STA_ID_MSK = (0x1f000000),
+ RX_MDPU_RES_STATUS_STA_ID_SHIFT = 24,
+ RX_MPDU_RES_STATUS_STA_ID_MSK = 0x1f << RX_MDPU_RES_STATUS_STA_ID_SHIFT,
RX_MPDU_RES_STATUS_RRF_KILL = BIT(29),
RX_MPDU_RES_STATUS_FILTERING_MSK = (0xc00000),
RX_MPDU_RES_STATUS2_FILTERING_MSK = (0xc0000000),