diff options
-rw-r--r-- | sys/net80211/ieee80211_output.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index ef5cbd0..bc25896 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -563,7 +563,8 @@ ieee80211_encap(struct ieee80211com *ic, struct mbuf *m, */ if (eh.ether_type != htons(ETHERTYPE_PAE) || ((ic->ic_flags & IEEE80211_F_WPA) && - !KEY_UNDEFINED(*key))) { + (ic->ic_opmode == IEEE80211_M_STA ? + !KEY_UNDEFINED(*key) : !KEY_UNDEFINED(ni->ni_ucastkey)))) { wh->i_fc[1] |= IEEE80211_FC1_WEP; /* XXX do fragmentation */ if (!ieee80211_crypto_enmic(ic, key, m)) { |