From nobody Thu Feb 12 09:32:51 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC750EED61E for ; Fri, 15 Sep 2023 16:10:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236524AbjIOQKk (ORCPT ); Fri, 15 Sep 2023 12:10:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236470AbjIOQKW (ORCPT ); Fri, 15 Sep 2023 12:10:22 -0400 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 294B7101 for ; Fri, 15 Sep 2023 09:10:01 -0700 (PDT) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-404724ec0dcso4977665e9.1 for ; Fri, 15 Sep 2023 09:10:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1694794199; x=1695398999; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=neWwZG9lKgvEuOzYDGCNX4NU4zDEQvDpEll/wDg9ebs=; b=ZnBkgAIz4Hv0Y0S64PuuuBWf4KetQ6q+RdydXhrETvXit7oOaUowOavSA36vEXFdGa tjK/d0qS6yqx22u1QEJJ0H1ljHmHPQ9CnwsZJx1vL7mRC6dqSPbAy6WA4jLYeWe0qZjy tk3dBtOAXwco36jGJh/dOObdjUaaJWl+pD0yeMeSd/dHNfw63jGPN6dWUk9kYw6Pl9Yr 3xQiEBbTPX6Drz7KJrSR86Yh1sGnGPJDqpBANWzCM7gwY3Ysez+FvWvzFHcdu8lZQ27e 9Fmy2WZguZCFXaO3VaFHJtEHWWVT2TaduEN06kve233dR/P1yZOJidixnqmm5On2nj1B QyMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694794199; x=1695398999; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=neWwZG9lKgvEuOzYDGCNX4NU4zDEQvDpEll/wDg9ebs=; b=qJQX9DAOZmrZggKkcNu+3i+rAiMZ0XbkdReTPWRfSvwXZ5Pdjzc9AOyxnfPtRkXwPj K/fX+Yr7u+fgDOnGz2KUABENzGfk8vXSGV5jDTGHa04vxWNi+9ZeqoqIV19dXT2+gcCa LviFxQmvr2rqRDhWhqiw/bk1Mvi3Xbbl9wxoGr2pg04nURv/fnJMyGXdkOBAr0VQvbTt KbKG6xBQi2p8nIwlnzZ/hkEzFIAaLADURjfKGkgt8VIv0NBmmDukZEn36fk8Jotov35j vfmIUWfsvooESxfSh12t5ROaUe7B5dNUxAU7jrGLf0LPEHSXYq9K5/vwQCWbq60+fijX IEnQ== X-Gm-Message-State: AOJu0YwbK6lYncjnQQIEQSm5lLL80+jIR9f4PoWYB+1fBziKjaulvDKw 14hNMemzvjH4bRnj1H3fikY= X-Google-Smtp-Source: AGHT+IF6QNcLXkG/0zJLOhRXzo1Jy7RkwytE4AHH7Q6Rc8/fXgVXcUoK+wMGs9a3ERG22X45/2wtSg== X-Received: by 2002:adf:db51:0:b0:319:7624:4ca2 with SMTP id f17-20020adfdb51000000b0031976244ca2mr1733288wrj.0.1694794199381; Fri, 15 Sep 2023 09:09:59 -0700 (PDT) Received: from matrix-ESPRIMO-P710 (p579356c7.dip0.t-ipconnect.de. [87.147.86.199]) by smtp.gmail.com with ESMTPSA id i11-20020a0560001acb00b0031fa870d4b3sm4026863wry.60.2023.09.15.09.09.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 09:09:59 -0700 (PDT) Date: Fri, 15 Sep 2023 18:09:57 +0200 From: Philipp Hortmann To: Greg Kroah-Hartman , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 16/16] staging: rtl8192e: Replace frame control constants with IEEE80211_FCTL_* Message-ID: <24d195f60ab9aa1d419c81b749c3d64dc8f643e3.1694792595.git.philipp.g.hortmann@gmail.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace frame control fields with IEEE80211_FCTL_* to avoid proprietary constant names. Signed-off-by: Philipp Hortmann --- .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 4 +-- drivers/staging/rtl8192e/rtllib.h | 27 ++++---------- drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 8 ++--- drivers/staging/rtl8192e/rtllib_rx.c | 36 +++++++++---------- drivers/staging/rtl8192e/rtllib_softmac.c | 8 ++--- drivers/staging/rtl8192e/rtllib_tx.c | 6 ++-- 6 files changed, 38 insertions(+), 51 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/stagi= ng/rtl8192e/rtl8192e/r8192E_dev.c index 6528807311ba..95be6fb043dd 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -1578,8 +1578,8 @@ static void _rtl92e_translate_rx_signal_stats(struct = net_device *dev, bpacket_match_bssid =3D ((type !=3D RTLLIB_FTYPE_CTL) && ether_addr_equal(priv->rtllib->current_network.bssid, - (fc & RTLLIB_FCTL_TODS) ? hdr->addr1 : - (fc & RTLLIB_FCTL_FROMDS) ? hdr->addr2 : + (fc & IEEE80211_FCTL_TODS) ? hdr->addr1 : + (fc & IEEE80211_FCTL_FROMDS) ? hdr->addr2 : hdr->addr3) && (!pstats->bHwError) && (!pstats->bCRC) && (!pstats->bICV)); bpacket_toself =3D bpacket_match_bssid && /* check this */ diff --git a/drivers/staging/rtl8192e/rtllib.h b/drivers/staging/rtl8192e/r= tllib.h index 9179c3c14ab3..5517b9df65be 100644 --- a/drivers/staging/rtl8192e/rtllib.h +++ b/drivers/staging/rtl8192e/rtllib.h @@ -332,19 +332,6 @@ enum rt_op_mode { #define MIN_FRAG_THRESHOLD 256U #define MAX_FRAG_THRESHOLD 2346U =20 -/* 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_CTL 0x0004 #define RTLLIB_FTYPE_DATA 0x0008 @@ -361,7 +348,7 @@ enum rt_op_mode { #define IsQoSDataFrame(pframe) \ ((*(u16 *)pframe&(IEEE80211_STYPE_QOS_DATA|RTLLIB_FTYPE_DATA)) =3D=3D \ (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) !=3D 0) #define SN_EQUAL(a, b) (a =3D=3D b) #define MAX_DEV_ADDR_SIZE 8 @@ -425,9 +412,9 @@ enum _REG_PREAMBLE_MODE { =20 #define SNAP_SIZE sizeof(struct rtllib_snap_hdr) =20 -#define WLAN_FC_GET_TYPE(fc) ((fc) & RTLLIB_FCTL_FTYPE) -#define WLAN_FC_GET_STYPE(fc) ((fc) & RTLLIB_FCTL_STYPE) -#define WLAN_FC_MORE_DATA(fc) ((fc) & RTLLIB_FCTL_MOREDATA) +#define WLAN_FC_GET_TYPE(fc) ((fc) & IEEE80211_FCTL_FTYPE) +#define WLAN_FC_GET_STYPE(fc) ((fc) & IEEE80211_FCTL_STYPE) +#define WLAN_FC_MORE_DATA(fc) ((fc) & IEEE80211_FCTL_MOREDATA) =20 #define WLAN_GET_SEQ_FRAG(seq) ((seq) & RTLLIB_SCTL_FRAG) #define WLAN_GET_SEQ_SEQ(seq) (((seq) & RTLLIB_SCTL_SEQ) >> 4) @@ -849,8 +836,8 @@ static inline u8 Frame_QoSTID(u8 *buf) =20 hdr =3D (struct ieee80211_hdr_3addr *)buf; fc =3D le16_to_cpu(hdr->frame_control); - return (u8)((union frameqos *)(buf + (((fc & RTLLIB_FCTL_TODS) && - (fc & RTLLIB_FCTL_FROMDS)) ? 30 : 24)))->field.tid; + return (u8)((union frameqos *)(buf + (((fc & IEEE80211_FCTL_TODS) && + (fc & IEEE80211_FCTL_FROMDS)) ? 30 : 24)))->field.tid; } =20 struct eapol { @@ -1624,7 +1611,7 @@ static inline int rtllib_get_hdrlen(u16 fc) =20 switch (WLAN_FC_GET_TYPE(fc)) { case RTLLIB_FTYPE_DATA: - if ((fc & RTLLIB_FCTL_FROMDS) && (fc & RTLLIB_FCTL_TODS)) + if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS)) hdrlen =3D RTLLIB_4ADDR_LEN; /* Addr4 */ if (RTLLIB_QOS_HAS_SEQ(fc)) hdrlen +=3D 2; /* QOS ctrl*/ diff --git a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c b/drivers/staging= /rtl8192e/rtllib_crypt_tkip.c index b7f9ea0e4f51..0244b524a7d4 100644 --- a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c +++ b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c @@ -469,16 +469,16 @@ static void michael_mic_hdr(struct sk_buff *skb, u8 *= hdr) =20 hdr11 =3D (struct ieee80211_hdr *)skb->data; switch (le16_to_cpu(hdr11->frame_control) & - (RTLLIB_FCTL_FROMDS | RTLLIB_FCTL_TODS)) { - case RTLLIB_FCTL_TODS: + (IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) { + case IEEE80211_FCTL_TODS: ether_addr_copy(hdr, hdr11->addr3); /* DA */ ether_addr_copy(hdr + ETH_ALEN, hdr11->addr2); /* SA */ break; - case RTLLIB_FCTL_FROMDS: + case IEEE80211_FCTL_FROMDS: ether_addr_copy(hdr, hdr11->addr1); /* DA */ ether_addr_copy(hdr + ETH_ALEN, hdr11->addr3); /* SA */ 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 + ETH_ALEN, hdr11->addr4); /* SA */ break; diff --git a/drivers/staging/rtl8192e/rtllib_rx.c b/drivers/staging/rtl8192= e/rtllib_rx.c index ef042dfd89cb..21cde99bb24d 100644 --- a/drivers/staging/rtl8192e/rtllib_rx.c +++ b/drivers/staging/rtl8192e/rtllib_rx.c @@ -243,13 +243,13 @@ static int rtllib_is_eapol_frame(struct rtllib_device= *ieee, fc =3D le16_to_cpu(hdr->frame_control); =20 /* check that the frame is unicast frame to us */ - if ((fc & (RTLLIB_FCTL_TODS | RTLLIB_FCTL_FROMDS)) =3D=3D - RTLLIB_FCTL_TODS && + if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) =3D=3D + IEEE80211_FCTL_TODS && memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) =3D=3D 0 && memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) =3D=3D 0) { /* ToDS frame with own addr BSSID and DA */ - } else if ((fc & (RTLLIB_FCTL_TODS | RTLLIB_FCTL_FROMDS)) =3D=3D - RTLLIB_FCTL_FROMDS && + } else if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) =3D=3D + IEEE80211_FCTL_FROMDS && memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) =3D=3D 0) { /* FromDS frame with own addr as DA */ } else { @@ -944,18 +944,18 @@ static void rtllib_rx_extract_addr(struct rtllib_devi= ce *ieee, { u16 fc =3D le16_to_cpu(hdr->frame_control); =20 - switch (fc & (RTLLIB_FCTL_FROMDS | RTLLIB_FCTL_TODS)) { - case RTLLIB_FCTL_FROMDS: + switch (fc & (IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) { + case IEEE80211_FCTL_FROMDS: ether_addr_copy(dst, hdr->addr1); ether_addr_copy(src, hdr->addr3); ether_addr_copy(bssid, hdr->addr2); break; - case RTLLIB_FCTL_TODS: + case IEEE80211_FCTL_TODS: ether_addr_copy(dst, hdr->addr3); ether_addr_copy(src, hdr->addr2); ether_addr_copy(bssid, hdr->addr1); break; - case RTLLIB_FCTL_FROMDS | RTLLIB_FCTL_TODS: + case IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS: ether_addr_copy(dst, hdr->addr3); ether_addr_copy(src, hdr->addr4); 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 */ if (ieee->intel_promiscuous_md_info.promiscuous_on && 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(bssid, ieee->current_network.bssid)) { return -1; @@ -1041,7 +1041,7 @@ static int rtllib_rx_get_crypt(struct rtllib_device *= ieee, struct sk_buff *skb, (*crypt)->ops->decrypt_mpdu =3D=3D NULL)) *crypt =3D NULL; =20 - if (!*crypt && (fc & RTLLIB_FCTL_WEP)) { + if (!*crypt && (fc & IEEE80211_FCTL_PROTECTED)) { /* This seems to be triggered by some (multicast?) * frames from other than current BSS, so just drop the * 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 =3D 0; =20 keyidx =3D 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__); return -1; } =20 hdr =3D (struct ieee80211_hdr *)skb->data; - if ((frag !=3D 0 || (fc & RTLLIB_FCTL_MOREFRAGS))) { + if ((frag !=3D 0 || (fc & IEEE80211_FCTL_MOREFRAGS))) { int flen; struct sk_buff *frag_skb =3D rtllib_frag_cache_get(ieee, hdr); =20 @@ -1091,7 +1091,7 @@ static int rtllib_rx_decrypt(struct rtllib_device *ie= ee, struct sk_buff *skb, if (!frag_skb) { netdev_dbg(ieee->dev, "Rx cannot get skb from fragment cache (morefrag=3D%d seq=3D%u frag= =3D%u)\n", - (fc & RTLLIB_FCTL_MOREFRAGS) !=3D 0, + (fc & IEEE80211_FCTL_MOREFRAGS) !=3D 0, WLAN_GET_SEQ_SEQ(sc), frag); return -1; } @@ -1121,7 +1121,7 @@ static int rtllib_rx_decrypt(struct rtllib_device *ie= ee, struct sk_buff *skb, dev_kfree_skb_any(skb); skb =3D NULL; =20 - if (fc & RTLLIB_FCTL_MOREFRAGS) { + if (fc & IEEE80211_FCTL_MOREFRAGS) { /* more fragments expected - leave the skb in fragment * cache for now; it will be delivered to upper layers * 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 * encrypted/authenticated */ - if ((fc & RTLLIB_FCTL_WEP) && + if ((fc & IEEE80211_FCTL_PROTECTED) && rtllib_rx_frame_decrypt_msdu(ieee, skb, keyidx, crypt)) { netdev_info(ieee->dev, "%s: =3D=3D>decrypt msdu error\n", __func__); return -1; } =20 hdr =3D (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 &&*/ rtllib_is_eapol_frame(ieee, skb, hdrlen)) { /* pass unencrypted EAPOL frames even if encryption is @@ -1166,7 +1166,7 @@ static int rtllib_rx_decrypt(struct rtllib_device *ie= ee, struct sk_buff *skb, } } =20 - if (crypt && !(fc & RTLLIB_FCTL_WEP) && + if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && rtllib_is_eapol_frame(ieee, skb, hdrlen)) { struct eapol *eap =3D (struct eapol *)(skb->data + 24); =20 @@ -1174,7 +1174,7 @@ static int rtllib_rx_decrypt(struct rtllib_device *ie= ee, struct sk_buff *skb, eap_get_type(eap->type)); } =20 - 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)) { netdev_dbg(ieee->dev, "dropped unencrypted RX data frame from %pM (drop_unencrypted=3D1)\n= ", diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rt= l8192e/rtllib_softmac.c index 87626c15d0d6..61afce587812 100644 --- a/drivers/staging/rtl8192e/rtllib_softmac.c +++ b/drivers/staging/rtl8192e/rtllib_softmac.c @@ -741,7 +741,7 @@ rtllib_authentication_req(struct rtllib_network *beacon, =20 auth->header.frame_control =3D cpu_to_le16(IEEE80211_STYPE_AUTH); if (challengelen) - auth->header.frame_control |=3D cpu_to_le16(RTLLIB_FCTL_WEP); + auth->header.frame_control |=3D cpu_to_le16(IEEE80211_FCTL_PROTECTED); =20 auth->header.duration_id =3D cpu_to_le16(0x013a); ether_addr_copy(auth->header.addr1, beacon->bssid); @@ -927,8 +927,8 @@ static struct sk_buff *rtllib_null_func(struct rtllib_d= evice *ieee, short pwr) ether_addr_copy(hdr->addr3, ieee->current_network.bssid); =20 hdr->frame_control =3D cpu_to_le16(RTLLIB_FTYPE_DATA | - IEEE80211_STYPE_NULLFUNC | RTLLIB_FCTL_TODS | - (pwr ? RTLLIB_FCTL_PM : 0)); + IEEE80211_STYPE_NULLFUNC | IEEE80211_FCTL_TODS | + (pwr ? IEEE80211_FCTL_PM : 0)); =20 return skb; } @@ -951,7 +951,7 @@ static struct sk_buff *rtllib_pspoll_func(struct rtllib= _device *ieee) =20 hdr->aid =3D cpu_to_le16(ieee->assoc_id | 0xc000); hdr->frame_control =3D cpu_to_le16(RTLLIB_FTYPE_CTL | IEEE80211_STYPE_PSP= OLL | - RTLLIB_FCTL_PM); + IEEE80211_FCTL_PM); =20 return skb; } diff --git a/drivers/staging/rtl8192e/rtllib_tx.c b/drivers/staging/rtl8192= e/rtllib_tx.c index 8b8f4f90ea35..ca13df080242 100644 --- a/drivers/staging/rtl8192e/rtllib_tx.c +++ b/drivers/staging/rtl8192e/rtllib_tx.c @@ -655,7 +655,7 @@ static int rtllib_xmit_inter(struct sk_buff *skb, struc= t net_device *dev) bytes =3D skb->len + SNAP_SIZE + sizeof(u16); =20 if (encrypt) - fc =3D RTLLIB_FTYPE_DATA | RTLLIB_FCTL_WEP; + fc =3D RTLLIB_FTYPE_DATA | IEEE80211_FCTL_PROTECTED; else fc =3D RTLLIB_FTYPE_DATA; =20 @@ -665,7 +665,7 @@ static int rtllib_xmit_inter(struct sk_buff *skb, struc= t net_device *dev) fc |=3D IEEE80211_STYPE_DATA; =20 if (ieee->iw_mode =3D=3D IW_MODE_INFRA) { - fc |=3D RTLLIB_FCTL_TODS; + fc |=3D IEEE80211_FCTL_TODS; /* To DS: Addr1 =3D BSSID, Addr2 =3D SA, * Addr3 =3D DA */ @@ -799,7 +799,7 @@ static int rtllib_xmit_inter(struct sk_buff *skb, struc= t net_device *dev) */ if (i !=3D nr_frags - 1) { frag_hdr->frame_control =3D cpu_to_le16(fc | - RTLLIB_FCTL_MOREFRAGS); + IEEE80211_FCTL_MOREFRAGS); bytes =3D bytes_per_frag; =20 } else { --=20 2.42.0