Wen Gong <wgong@xxxxxxxxxxxxxxxx> writes: >> -----Original Message----- >> From: ath10k <ath10k-bounces@xxxxxxxxxxxxxxxxxxx> On Behalf Of Ben >> Greear >> Sent: Tuesday, June 18, 2019 12:04 AM >> To: Wen Gong <wgong@xxxxxxxxxxxxxx>; ath10k@xxxxxxxxxxxxxxxxxxx >> Cc: linux-wireless@xxxxxxxxxxxxxxx >> Subject: [EXT] Re: [PATCH] ath10k: add mic bytes for pmf management >> packet >> >> I was looking at mac80211 code recently, and it seems some action >> frames are NOT supposed to be protected. I added my own helper >> method to my local ath10k. Maybe you want to use this? >> >> >> /* Copied from ieee80211_is_robust_mgmt_frame, but disable the check for >> has_protected >> * since we do tx hw crypt, and it won't actually be encrypted even when this >> flag is >> * set. >> */ >> bool ieee80211_is_robust_mgmt_frame_tx(struct ieee80211_hdr *hdr) >> { >> if (ieee80211_is_disassoc(hdr->frame_control) || >> ieee80211_is_deauth(hdr->frame_control)) >> return true; >> >> if (ieee80211_is_action(hdr->frame_control)) { >> u8 *category; >> >> /* >> * Action frames, excluding Public Action frames, are Robust >> * Management Frames. However, if we are looking at a Protected >> * frame, skip the check since the data may be encrypted and >> * the frame has already been found to be a Robust Management >> * Frame (by the other end). >> */ >> /* >> if (ieee80211_has_protected(hdr->frame_control)) >> return true; >> */ >> category = ((u8 *) hdr) + 24; >> return *category != WLAN_CATEGORY_PUBLIC && >> *category != WLAN_CATEGORY_HT && >> *category != WLAN_CATEGORY_WNM_UNPROTECTED && >> *category != WLAN_CATEGORY_SELF_PROTECTED && >> *category != WLAN_CATEGORY_UNPROT_DMG && >> *category != WLAN_CATEGORY_VHT && >> *category != WLAN_CATEGORY_VENDOR_SPECIFIC; >> } >> >> return false; >> } >> >> Thanks, >> Ben >> >> > + >> > data_len = msdu->len; >> > >> > switch (txmode) { >> > >> >> > Thanks Ben, > > seems the ieee80211_is_robust_mgmt_frame_tx is not > match my change. So what's the conclusion, can I take this patch? -- Kalle Valo