diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/mac80211.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c index 08b8051e56f8..6f9640b68771 100644 --- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c | |||
@@ -128,6 +128,28 @@ static const struct wiphy_wowlan_tcp_support iwl_mvm_wowlan_tcp_support = { | |||
128 | }; | 128 | }; |
129 | #endif | 129 | #endif |
130 | 130 | ||
131 | #ifdef CONFIG_IWLWIFI_BCAST_FILTERING | ||
132 | static const struct iwl_fw_bcast_filter iwl_mvm_default_bcast_filters[] = { | ||
133 | { | ||
134 | /* arp */ | ||
135 | .discard = 0, | ||
136 | .frame_type = BCAST_FILTER_FRAME_TYPE_ALL, | ||
137 | .attrs = { | ||
138 | { | ||
139 | /* frame type - arp, hw type - ethernet */ | ||
140 | .offset_type = | ||
141 | BCAST_FILTER_OFFSET_PAYLOAD_START, | ||
142 | .offset = sizeof(rfc1042_header), | ||
143 | .val = cpu_to_be32(0x08060001), | ||
144 | .mask = cpu_to_be32(0xffffffff), | ||
145 | }, | ||
146 | }, | ||
147 | }, | ||
148 | /* last filter must be empty */ | ||
149 | {}, | ||
150 | }; | ||
151 | #endif | ||
152 | |||
131 | static void iwl_mvm_reset_phy_ctxts(struct iwl_mvm *mvm) | 153 | static void iwl_mvm_reset_phy_ctxts(struct iwl_mvm *mvm) |
132 | { | 154 | { |
133 | int i; | 155 | int i; |
@@ -292,6 +314,11 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) | |||
292 | } | 314 | } |
293 | #endif | 315 | #endif |
294 | 316 | ||
317 | #ifdef CONFIG_IWLWIFI_BCAST_FILTERING | ||
318 | /* assign default bcast filtering configuration */ | ||
319 | mvm->bcast_filters = iwl_mvm_default_bcast_filters; | ||
320 | #endif | ||
321 | |||
295 | ret = iwl_mvm_leds_init(mvm); | 322 | ret = iwl_mvm_leds_init(mvm); |
296 | if (ret) | 323 | if (ret) |
297 | return ret; | 324 | return ret; |