diff options
Diffstat (limited to 'net/ieee80211/ieee80211_rx.c')
-rw-r--r-- | net/ieee80211/ieee80211_rx.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c index 8bcdbabae3a1..65315bcd6e0a 100644 --- a/net/ieee80211/ieee80211_rx.c +++ b/net/ieee80211/ieee80211_rx.c | |||
@@ -409,7 +409,8 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, | |||
409 | return 1; | 409 | return 1; |
410 | } | 410 | } |
411 | 411 | ||
412 | if (ieee->host_decrypt) { | 412 | if (is_multicast_ether_addr(hdr->addr1) ? ieee->host_mc_decrypt : |
413 | ieee->host_decrypt) { | ||
413 | int idx = 0; | 414 | int idx = 0; |
414 | if (skb->len >= hdrlen + 3) | 415 | if (skb->len >= hdrlen + 3) |
415 | idx = skb->data[hdrlen + 3] >> 6; | 416 | idx = skb->data[hdrlen + 3] >> 6; |
@@ -1066,7 +1067,7 @@ static inline int ieee80211_network_init(struct ieee80211_device *ieee, struct i | |||
1066 | network->flags = 0; | 1067 | network->flags = 0; |
1067 | network->atim_window = 0; | 1068 | network->atim_window = 0; |
1068 | network->erp_value = (network->capability & WLAN_CAPABILITY_IBSS) ? | 1069 | network->erp_value = (network->capability & WLAN_CAPABILITY_IBSS) ? |
1069 | 0x3 : 0x0; | 1070 | 0x3 : 0x0; |
1070 | 1071 | ||
1071 | if (stats->freq == IEEE80211_52GHZ_BAND) { | 1072 | if (stats->freq == IEEE80211_52GHZ_BAND) { |
1072 | /* for A band (No DS info) */ | 1073 | /* for A band (No DS info) */ |