Index: net80211/ieee80211_pae_output.c =================================================================== RCS file: /cvs/src/sys/net80211/ieee80211_pae_output.c,v retrieving revision 1.24 diff -u -p -r1.24 ieee80211_pae_output.c --- net80211/ieee80211_pae_output.c 12 Oct 2015 13:17:58 -0000 1.24 +++ net80211/ieee80211_pae_output.c 21 Nov 2015 11:58:22 -0000 @@ -67,7 +67,7 @@ ieee80211_send_eapol_key(struct ieee8021 struct ether_header *eh; struct ieee80211_eapol_key *key; u_int16_t info; - int s, len, error; + int len; M_PREPEND(m, sizeof(struct ether_header), M_DONTWAIT); if (m == NULL) @@ -119,22 +119,13 @@ ieee80211_send_eapol_key(struct ieee8021 if (info & EAPOL_KEY_KEYMIC) ieee80211_eapol_key_mic(key, ptk->kck); - len = m->m_pkthdr.len; - s = splnet(); #ifndef IEEE80211_STA_ONLY /* start a 100ms timeout if an answer is expected from supplicant */ if (info & EAPOL_KEY_KEYACK) timeout_add_msec(&ni->ni_eapol_to, 100); #endif - IFQ_ENQUEUE(&ifp->if_snd, m, error); - if (error == 0) { - ifp->if_obytes += len; - if ((ifp->if_flags & IFF_OACTIVE) == 0) - (*ifp->if_start)(ifp); - } - splx(s); - return error; + return (if_enqueue(ifp, m)); } #ifndef IEEE80211_STA_ONLY