staging: rtl8192e: Replace frame control constants with IEEE80211_FCTL_*

Replace frame control fields with IEEE80211_FCTL_* to avoid proprietary
constant names.

Signed-off-by: Philipp Hortmann <philipp.g.hortmann@gmail.com>
Link: https://lore.kernel.org/r/24d195f60ab9aa1d419c81b749c3d64dc8f643e3.1694792595.git.philipp.g.hortmann@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Philipp Hortmann 2023-09-15 18:09:57 +02:00 committed by Greg Kroah-Hartman
parent 3f48cad549
commit 8e050848c7
6 changed files with 38 additions and 51 deletions

View File

@ -1578,8 +1578,8 @@ static void _rtl92e_translate_rx_signal_stats(struct net_device *dev,
bpacket_match_bssid = bpacket_match_bssid =
((type != RTLLIB_FTYPE_CTL) && ((type != RTLLIB_FTYPE_CTL) &&
ether_addr_equal(priv->rtllib->current_network.bssid, ether_addr_equal(priv->rtllib->current_network.bssid,
(fc & RTLLIB_FCTL_TODS) ? hdr->addr1 : (fc & IEEE80211_FCTL_TODS) ? hdr->addr1 :
(fc & RTLLIB_FCTL_FROMDS) ? hdr->addr2 : (fc & IEEE80211_FCTL_FROMDS) ? hdr->addr2 :
hdr->addr3) && hdr->addr3) &&
(!pstats->bHwError) && (!pstats->bCRC) && (!pstats->bICV)); (!pstats->bHwError) && (!pstats->bCRC) && (!pstats->bICV));
bpacket_toself = bpacket_match_bssid && /* check this */ bpacket_toself = bpacket_match_bssid && /* check this */

View File

@ -332,19 +332,6 @@ enum rt_op_mode {
#define MIN_FRAG_THRESHOLD 256U #define MIN_FRAG_THRESHOLD 256U
#define MAX_FRAG_THRESHOLD 2346U #define MAX_FRAG_THRESHOLD 2346U
/* Frame control field constants */
#define RTLLIB_FCTL_FTYPE 0x000c
#define RTLLIB_FCTL_STYPE 0x00f0
#define RTLLIB_FCTL_FRAMETYPE 0x00fc
#define RTLLIB_FCTL_TODS 0x0100
#define RTLLIB_FCTL_FROMDS 0x0200
#define RTLLIB_FCTL_MOREFRAGS 0x0400
#define RTLLIB_FCTL_RETRY 0x0800
#define RTLLIB_FCTL_PM 0x1000
#define RTLLIB_FCTL_MOREDATA 0x2000
#define RTLLIB_FCTL_WEP 0x4000
#define RTLLIB_FCTL_ORDER 0x8000
#define RTLLIB_FTYPE_MGMT 0x0000 #define RTLLIB_FTYPE_MGMT 0x0000
#define RTLLIB_FTYPE_CTL 0x0004 #define RTLLIB_FTYPE_CTL 0x0004
#define RTLLIB_FTYPE_DATA 0x0008 #define RTLLIB_FTYPE_DATA 0x0008
@ -361,7 +348,7 @@ enum rt_op_mode {
#define IsQoSDataFrame(pframe) \ #define IsQoSDataFrame(pframe) \
((*(u16 *)pframe&(IEEE80211_STYPE_QOS_DATA|RTLLIB_FTYPE_DATA)) == \ ((*(u16 *)pframe&(IEEE80211_STYPE_QOS_DATA|RTLLIB_FTYPE_DATA)) == \
(IEEE80211_STYPE_QOS_DATA|RTLLIB_FTYPE_DATA)) (IEEE80211_STYPE_QOS_DATA|RTLLIB_FTYPE_DATA))
#define Frame_Order(pframe) (*(u16 *)pframe&RTLLIB_FCTL_ORDER) #define Frame_Order(pframe) (*(u16 *)pframe&IEEE80211_FCTL_ORDER)
#define SN_LESS(a, b) (((a-b)&0x800) != 0) #define SN_LESS(a, b) (((a-b)&0x800) != 0)
#define SN_EQUAL(a, b) (a == b) #define SN_EQUAL(a, b) (a == b)
#define MAX_DEV_ADDR_SIZE 8 #define MAX_DEV_ADDR_SIZE 8
@ -425,9 +412,9 @@ enum _REG_PREAMBLE_MODE {
#define SNAP_SIZE sizeof(struct rtllib_snap_hdr) #define SNAP_SIZE sizeof(struct rtllib_snap_hdr)
#define WLAN_FC_GET_TYPE(fc) ((fc) & RTLLIB_FCTL_FTYPE) #define WLAN_FC_GET_TYPE(fc) ((fc) & IEEE80211_FCTL_FTYPE)
#define WLAN_FC_GET_STYPE(fc) ((fc) & RTLLIB_FCTL_STYPE) #define WLAN_FC_GET_STYPE(fc) ((fc) & IEEE80211_FCTL_STYPE)
#define WLAN_FC_MORE_DATA(fc) ((fc) & RTLLIB_FCTL_MOREDATA) #define WLAN_FC_MORE_DATA(fc) ((fc) & IEEE80211_FCTL_MOREDATA)
#define WLAN_GET_SEQ_FRAG(seq) ((seq) & RTLLIB_SCTL_FRAG) #define WLAN_GET_SEQ_FRAG(seq) ((seq) & RTLLIB_SCTL_FRAG)
#define WLAN_GET_SEQ_SEQ(seq) (((seq) & RTLLIB_SCTL_SEQ) >> 4) #define WLAN_GET_SEQ_SEQ(seq) (((seq) & RTLLIB_SCTL_SEQ) >> 4)
@ -849,8 +836,8 @@ static inline u8 Frame_QoSTID(u8 *buf)
hdr = (struct ieee80211_hdr_3addr *)buf; hdr = (struct ieee80211_hdr_3addr *)buf;
fc = le16_to_cpu(hdr->frame_control); fc = le16_to_cpu(hdr->frame_control);
return (u8)((union frameqos *)(buf + (((fc & RTLLIB_FCTL_TODS) && return (u8)((union frameqos *)(buf + (((fc & IEEE80211_FCTL_TODS) &&
(fc & RTLLIB_FCTL_FROMDS)) ? 30 : 24)))->field.tid; (fc & IEEE80211_FCTL_FROMDS)) ? 30 : 24)))->field.tid;
} }
struct eapol { struct eapol {
@ -1624,7 +1611,7 @@ static inline int rtllib_get_hdrlen(u16 fc)
switch (WLAN_FC_GET_TYPE(fc)) { switch (WLAN_FC_GET_TYPE(fc)) {
case RTLLIB_FTYPE_DATA: case RTLLIB_FTYPE_DATA:
if ((fc & RTLLIB_FCTL_FROMDS) && (fc & RTLLIB_FCTL_TODS)) if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS))
hdrlen = RTLLIB_4ADDR_LEN; /* Addr4 */ hdrlen = RTLLIB_4ADDR_LEN; /* Addr4 */
if (RTLLIB_QOS_HAS_SEQ(fc)) if (RTLLIB_QOS_HAS_SEQ(fc))
hdrlen += 2; /* QOS ctrl*/ hdrlen += 2; /* QOS ctrl*/

View File

@ -469,16 +469,16 @@ static void michael_mic_hdr(struct sk_buff *skb, u8 *hdr)
hdr11 = (struct ieee80211_hdr *)skb->data; hdr11 = (struct ieee80211_hdr *)skb->data;
switch (le16_to_cpu(hdr11->frame_control) & switch (le16_to_cpu(hdr11->frame_control) &
(RTLLIB_FCTL_FROMDS | RTLLIB_FCTL_TODS)) { (IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) {
case RTLLIB_FCTL_TODS: case IEEE80211_FCTL_TODS:
ether_addr_copy(hdr, hdr11->addr3); /* DA */ ether_addr_copy(hdr, hdr11->addr3); /* DA */
ether_addr_copy(hdr + ETH_ALEN, hdr11->addr2); /* SA */ ether_addr_copy(hdr + ETH_ALEN, hdr11->addr2); /* SA */
break; break;
case RTLLIB_FCTL_FROMDS: case IEEE80211_FCTL_FROMDS:
ether_addr_copy(hdr, hdr11->addr1); /* DA */ ether_addr_copy(hdr, hdr11->addr1); /* DA */
ether_addr_copy(hdr + ETH_ALEN, hdr11->addr3); /* SA */ ether_addr_copy(hdr + ETH_ALEN, hdr11->addr3); /* SA */
break; break;
case RTLLIB_FCTL_FROMDS | RTLLIB_FCTL_TODS: case IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS:
ether_addr_copy(hdr, hdr11->addr3); /* DA */ ether_addr_copy(hdr, hdr11->addr3); /* DA */
ether_addr_copy(hdr + ETH_ALEN, hdr11->addr4); /* SA */ ether_addr_copy(hdr + ETH_ALEN, hdr11->addr4); /* SA */
break; break;

View File

@ -243,13 +243,13 @@ static int rtllib_is_eapol_frame(struct rtllib_device *ieee,
fc = le16_to_cpu(hdr->frame_control); fc = le16_to_cpu(hdr->frame_control);
/* check that the frame is unicast frame to us */ /* check that the frame is unicast frame to us */
if ((fc & (RTLLIB_FCTL_TODS | RTLLIB_FCTL_FROMDS)) == if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
RTLLIB_FCTL_TODS && IEEE80211_FCTL_TODS &&
memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0 && memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0 &&
memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) == 0) { memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) == 0) {
/* ToDS frame with own addr BSSID and DA */ /* ToDS frame with own addr BSSID and DA */
} else if ((fc & (RTLLIB_FCTL_TODS | RTLLIB_FCTL_FROMDS)) == } else if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
RTLLIB_FCTL_FROMDS && IEEE80211_FCTL_FROMDS &&
memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0) { memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0) {
/* FromDS frame with own addr as DA */ /* FromDS frame with own addr as DA */
} else { } else {
@ -944,18 +944,18 @@ static void rtllib_rx_extract_addr(struct rtllib_device *ieee,
{ {
u16 fc = le16_to_cpu(hdr->frame_control); u16 fc = le16_to_cpu(hdr->frame_control);
switch (fc & (RTLLIB_FCTL_FROMDS | RTLLIB_FCTL_TODS)) { switch (fc & (IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) {
case RTLLIB_FCTL_FROMDS: case IEEE80211_FCTL_FROMDS:
ether_addr_copy(dst, hdr->addr1); ether_addr_copy(dst, hdr->addr1);
ether_addr_copy(src, hdr->addr3); ether_addr_copy(src, hdr->addr3);
ether_addr_copy(bssid, hdr->addr2); ether_addr_copy(bssid, hdr->addr2);
break; break;
case RTLLIB_FCTL_TODS: case IEEE80211_FCTL_TODS:
ether_addr_copy(dst, hdr->addr3); ether_addr_copy(dst, hdr->addr3);
ether_addr_copy(src, hdr->addr2); ether_addr_copy(src, hdr->addr2);
ether_addr_copy(bssid, hdr->addr1); ether_addr_copy(bssid, hdr->addr1);
break; break;
case RTLLIB_FCTL_FROMDS | RTLLIB_FCTL_TODS: case IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS:
ether_addr_copy(dst, hdr->addr3); ether_addr_copy(dst, hdr->addr3);
ether_addr_copy(src, hdr->addr4); ether_addr_copy(src, hdr->addr4);
ether_addr_copy(bssid, ieee->current_network.bssid); ether_addr_copy(bssid, ieee->current_network.bssid);
@ -986,7 +986,7 @@ static int rtllib_rx_data_filter(struct rtllib_device *ieee, struct ieee80211_hd
/* Filter packets sent by an STA that will be forwarded by AP */ /* Filter packets sent by an STA that will be forwarded by AP */
if (ieee->intel_promiscuous_md_info.promiscuous_on && if (ieee->intel_promiscuous_md_info.promiscuous_on &&
ieee->intel_promiscuous_md_info.fltr_src_sta_frame) { ieee->intel_promiscuous_md_info.fltr_src_sta_frame) {
if ((fc & RTLLIB_FCTL_TODS) && !(fc & RTLLIB_FCTL_FROMDS) && if ((fc & IEEE80211_FCTL_TODS) && !(fc & IEEE80211_FCTL_FROMDS) &&
!ether_addr_equal(dst, ieee->current_network.bssid) && !ether_addr_equal(dst, ieee->current_network.bssid) &&
ether_addr_equal(bssid, ieee->current_network.bssid)) { ether_addr_equal(bssid, ieee->current_network.bssid)) {
return -1; return -1;
@ -1041,7 +1041,7 @@ static int rtllib_rx_get_crypt(struct rtllib_device *ieee, struct sk_buff *skb,
(*crypt)->ops->decrypt_mpdu == NULL)) (*crypt)->ops->decrypt_mpdu == NULL))
*crypt = NULL; *crypt = NULL;
if (!*crypt && (fc & RTLLIB_FCTL_WEP)) { if (!*crypt && (fc & IEEE80211_FCTL_PROTECTED)) {
/* This seems to be triggered by some (multicast?) /* This seems to be triggered by some (multicast?)
* frames from other than current BSS, so just drop the * frames from other than current BSS, so just drop the
* frames silently instead of filling system log with * frames silently instead of filling system log with
@ -1076,13 +1076,13 @@ static int rtllib_rx_decrypt(struct rtllib_device *ieee, struct sk_buff *skb,
ieee->need_sw_enc = 0; ieee->need_sw_enc = 0;
keyidx = rtllib_rx_frame_decrypt(ieee, skb, crypt); keyidx = rtllib_rx_frame_decrypt(ieee, skb, crypt);
if ((fc & RTLLIB_FCTL_WEP) && (keyidx < 0)) { if ((fc & IEEE80211_FCTL_PROTECTED) && (keyidx < 0)) {
netdev_info(ieee->dev, "%s: decrypt frame error\n", __func__); netdev_info(ieee->dev, "%s: decrypt frame error\n", __func__);
return -1; return -1;
} }
hdr = (struct ieee80211_hdr *)skb->data; hdr = (struct ieee80211_hdr *)skb->data;
if ((frag != 0 || (fc & RTLLIB_FCTL_MOREFRAGS))) { if ((frag != 0 || (fc & IEEE80211_FCTL_MOREFRAGS))) {
int flen; int flen;
struct sk_buff *frag_skb = rtllib_frag_cache_get(ieee, hdr); struct sk_buff *frag_skb = rtllib_frag_cache_get(ieee, hdr);
@ -1091,7 +1091,7 @@ static int rtllib_rx_decrypt(struct rtllib_device *ieee, struct sk_buff *skb,
if (!frag_skb) { if (!frag_skb) {
netdev_dbg(ieee->dev, netdev_dbg(ieee->dev,
"Rx cannot get skb from fragment cache (morefrag=%d seq=%u frag=%u)\n", "Rx cannot get skb from fragment cache (morefrag=%d seq=%u frag=%u)\n",
(fc & RTLLIB_FCTL_MOREFRAGS) != 0, (fc & IEEE80211_FCTL_MOREFRAGS) != 0,
WLAN_GET_SEQ_SEQ(sc), frag); WLAN_GET_SEQ_SEQ(sc), frag);
return -1; return -1;
} }
@ -1121,7 +1121,7 @@ static int rtllib_rx_decrypt(struct rtllib_device *ieee, struct sk_buff *skb,
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
skb = NULL; skb = NULL;
if (fc & RTLLIB_FCTL_MOREFRAGS) { if (fc & IEEE80211_FCTL_MOREFRAGS) {
/* more fragments expected - leave the skb in fragment /* more fragments expected - leave the skb in fragment
* cache for now; it will be delivered to upper layers * cache for now; it will be delivered to upper layers
* after all fragments have been received * after all fragments have been received
@ -1140,14 +1140,14 @@ static int rtllib_rx_decrypt(struct rtllib_device *ieee, struct sk_buff *skb,
/* skb: hdr + (possible reassembled) full MSDU payload; possibly still /* skb: hdr + (possible reassembled) full MSDU payload; possibly still
* encrypted/authenticated * encrypted/authenticated
*/ */
if ((fc & RTLLIB_FCTL_WEP) && if ((fc & IEEE80211_FCTL_PROTECTED) &&
rtllib_rx_frame_decrypt_msdu(ieee, skb, keyidx, crypt)) { rtllib_rx_frame_decrypt_msdu(ieee, skb, keyidx, crypt)) {
netdev_info(ieee->dev, "%s: ==>decrypt msdu error\n", __func__); netdev_info(ieee->dev, "%s: ==>decrypt msdu error\n", __func__);
return -1; return -1;
} }
hdr = (struct ieee80211_hdr *)skb->data; hdr = (struct ieee80211_hdr *)skb->data;
if (crypt && !(fc & RTLLIB_FCTL_WEP) && !ieee->open_wep) { if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep) {
if (/*ieee->ieee802_1x &&*/ if (/*ieee->ieee802_1x &&*/
rtllib_is_eapol_frame(ieee, skb, hdrlen)) { rtllib_is_eapol_frame(ieee, skb, hdrlen)) {
/* pass unencrypted EAPOL frames even if encryption is /* pass unencrypted EAPOL frames even if encryption is
@ -1166,7 +1166,7 @@ static int rtllib_rx_decrypt(struct rtllib_device *ieee, struct sk_buff *skb,
} }
} }
if (crypt && !(fc & RTLLIB_FCTL_WEP) && if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) &&
rtllib_is_eapol_frame(ieee, skb, hdrlen)) { rtllib_is_eapol_frame(ieee, skb, hdrlen)) {
struct eapol *eap = (struct eapol *)(skb->data + 24); struct eapol *eap = (struct eapol *)(skb->data + 24);
@ -1174,7 +1174,7 @@ static int rtllib_rx_decrypt(struct rtllib_device *ieee, struct sk_buff *skb,
eap_get_type(eap->type)); eap_get_type(eap->type));
} }
if (crypt && !(fc & RTLLIB_FCTL_WEP) && !ieee->open_wep && if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep &&
!rtllib_is_eapol_frame(ieee, skb, hdrlen)) { !rtllib_is_eapol_frame(ieee, skb, hdrlen)) {
netdev_dbg(ieee->dev, netdev_dbg(ieee->dev,
"dropped unencrypted RX data frame from %pM (drop_unencrypted=1)\n", "dropped unencrypted RX data frame from %pM (drop_unencrypted=1)\n",

View File

@ -741,7 +741,7 @@ rtllib_authentication_req(struct rtllib_network *beacon,
auth->header.frame_control = cpu_to_le16(IEEE80211_STYPE_AUTH); auth->header.frame_control = cpu_to_le16(IEEE80211_STYPE_AUTH);
if (challengelen) if (challengelen)
auth->header.frame_control |= cpu_to_le16(RTLLIB_FCTL_WEP); auth->header.frame_control |= cpu_to_le16(IEEE80211_FCTL_PROTECTED);
auth->header.duration_id = cpu_to_le16(0x013a); auth->header.duration_id = cpu_to_le16(0x013a);
ether_addr_copy(auth->header.addr1, beacon->bssid); ether_addr_copy(auth->header.addr1, beacon->bssid);
@ -927,8 +927,8 @@ static struct sk_buff *rtllib_null_func(struct rtllib_device *ieee, short pwr)
ether_addr_copy(hdr->addr3, ieee->current_network.bssid); ether_addr_copy(hdr->addr3, ieee->current_network.bssid);
hdr->frame_control = cpu_to_le16(RTLLIB_FTYPE_DATA | hdr->frame_control = cpu_to_le16(RTLLIB_FTYPE_DATA |
IEEE80211_STYPE_NULLFUNC | RTLLIB_FCTL_TODS | IEEE80211_STYPE_NULLFUNC | IEEE80211_FCTL_TODS |
(pwr ? RTLLIB_FCTL_PM : 0)); (pwr ? IEEE80211_FCTL_PM : 0));
return skb; return skb;
} }
@ -951,7 +951,7 @@ static struct sk_buff *rtllib_pspoll_func(struct rtllib_device *ieee)
hdr->aid = cpu_to_le16(ieee->assoc_id | 0xc000); hdr->aid = cpu_to_le16(ieee->assoc_id | 0xc000);
hdr->frame_control = cpu_to_le16(RTLLIB_FTYPE_CTL | IEEE80211_STYPE_PSPOLL | hdr->frame_control = cpu_to_le16(RTLLIB_FTYPE_CTL | IEEE80211_STYPE_PSPOLL |
RTLLIB_FCTL_PM); IEEE80211_FCTL_PM);
return skb; return skb;
} }

View File

@ -655,7 +655,7 @@ static int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
bytes = skb->len + SNAP_SIZE + sizeof(u16); bytes = skb->len + SNAP_SIZE + sizeof(u16);
if (encrypt) if (encrypt)
fc = RTLLIB_FTYPE_DATA | RTLLIB_FCTL_WEP; fc = RTLLIB_FTYPE_DATA | IEEE80211_FCTL_PROTECTED;
else else
fc = RTLLIB_FTYPE_DATA; fc = RTLLIB_FTYPE_DATA;
@ -665,7 +665,7 @@ static int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
fc |= IEEE80211_STYPE_DATA; fc |= IEEE80211_STYPE_DATA;
if (ieee->iw_mode == IW_MODE_INFRA) { if (ieee->iw_mode == IW_MODE_INFRA) {
fc |= RTLLIB_FCTL_TODS; fc |= IEEE80211_FCTL_TODS;
/* To DS: Addr1 = BSSID, Addr2 = SA, /* To DS: Addr1 = BSSID, Addr2 = SA,
* Addr3 = DA * Addr3 = DA
*/ */
@ -799,7 +799,7 @@ static int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
*/ */
if (i != nr_frags - 1) { if (i != nr_frags - 1) {
frag_hdr->frame_control = cpu_to_le16(fc | frag_hdr->frame_control = cpu_to_le16(fc |
RTLLIB_FCTL_MOREFRAGS); IEEE80211_FCTL_MOREFRAGS);
bytes = bytes_per_frag; bytes = bytes_per_frag;
} else { } else {