diff options
author | Hong Liu <hong.liu@intel.com> | 2005-10-19 16:31:34 -0500 |
---|---|---|
committer | James Ketrenos <jketreno@linux.intel.com> | 2005-10-19 16:49:03 -0500 |
commit | 5b74eda78db410b979b7d450221c971fdebf5d29 (patch) | |
tree | 4dd2ee158b10bf11e4f34ba00a28e09cdacbf272 /net | |
parent | c4cfe567b92d5663f98e2f82f28ffc3069fc982f (diff) | |
download | op-kernel-dev-5b74eda78db410b979b7d450221c971fdebf5d29.zip op-kernel-dev-5b74eda78db410b979b7d450221c971fdebf5d29.tar.gz |
Fixed problem with not being able to decrypt/encrypt broadcast packets.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/ieee80211/ieee80211_rx.c | 3 | ||||
-rw-r--r-- | net/ieee80211/ieee80211_tx.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c index 6b005cb..ce694cf 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, return 1; } - if (is_multicast_ether_addr(hdr->addr1) ? ieee->host_mc_decrypt : + if ((is_multicast_ether_addr(hdr->addr1) || + is_broadcast_ether_addr(hdr->addr2)) ? ieee->host_mc_decrypt : ieee->host_decrypt) { int idx = 0; if (skb->len >= hdrlen + 3) diff --git a/net/ieee80211/ieee80211_tx.c b/net/ieee80211/ieee80211_tx.c index 42c5061..2955b7a 100644 --- a/net/ieee80211/ieee80211_tx.c +++ b/net/ieee80211/ieee80211_tx.c @@ -338,7 +338,8 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev) if (host_encrypt || ieee->host_open_frag) { /* Determine fragmentation size based on destination (multicast * and broadcast are not fragmented) */ - if (is_multicast_ether_addr(dest)) + if (is_multicast_ether_addr(dest) || + is_broadcast_ether_addr(dest)) frag_size = MAX_FRAG_THRESHOLD; else frag_size = ieee->fts; |