From nobody Mon Jun 22 13:25:11 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 68329C433EF for ; Wed, 23 Mar 2022 07:49:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239467AbiCWHuv (ORCPT ); Wed, 23 Mar 2022 03:50:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44278 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239957AbiCWHun (ORCPT ); Wed, 23 Mar 2022 03:50:43 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B6A0770F5A for ; Wed, 23 Mar 2022 00:49:12 -0700 (PDT) Received: from dslb-178-004-173-157.178.004.pools.vodafone-ip.de ([178.4.173.157] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nWvjw-0003JV-9m; Wed, 23 Mar 2022 08:49:08 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 1/7] staging: r8188eu: use ieee80211 define for version check Date: Wed, 23 Mar 2022 08:48:53 +0100 Message-Id: <20220323074859.177425-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220323074859.177425-1-martin@kaiser.cx> References: <20220323074859.177425-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use the IEEE80211_FCTL_VERS define to check the version number of a received frame. Signed-off-by: Martin Kaiser Reported-by: kernel test robot --- drivers/staging/r8188eu/core/rtw_recv.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index 8800ea4825ff..524a00345501 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -1063,7 +1063,6 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv struct rx_pkt_attrib *pattrib =3D &precv_frame->attrib; u8 *ptr =3D precv_frame->rx_data; __le16 fc =3D *(__le16 *)ptr; - u8 ver =3D (unsigned char)(*ptr) & 0x3; struct mlme_ext_priv *pmlmeext =3D &adapter->mlmeextpriv; =20 if (pmlmeext->sitesurvey_res.state =3D=3D SCAN_PROCESS) { @@ -1072,8 +1071,7 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv pmlmeext->channel_set[ch_set_idx].rx_count++; } =20 - /* add version chk */ - if (ver !=3D 0) + if ((fc & IEEE80211_FCTL_VERS) !=3D 0) return _FAIL; =20 pattrib->to_fr_ds =3D get_tofr_ds(ptr); --=20 2.30.2 From nobody Mon Jun 22 13:25:11 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 94EDAC433F5 for ; Wed, 23 Mar 2022 07:49:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242304AbiCWHur (ORCPT ); Wed, 23 Mar 2022 03:50:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44280 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238241AbiCWHun (ORCPT ); Wed, 23 Mar 2022 03:50:43 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C21E5710F2 for ; Wed, 23 Mar 2022 00:49:12 -0700 (PDT) Received: from dslb-178-004-173-157.178.004.pools.vodafone-ip.de ([178.4.173.157] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nWvjx-0003JV-67; Wed, 23 Mar 2022 08:49:09 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 2/7] staging: r8188eu: use ieee80211 helper to read the pwr bit Date: Wed, 23 Mar 2022 08:48:54 +0100 Message-Id: <20220323074859.177425-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220323074859.177425-1-martin@kaiser.cx> References: <20220323074859.177425-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use the ieee80211 helper to read the power management bit. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index 524a00345501..fa0ae1c1187b 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -1079,7 +1079,7 @@ static int validate_recv_frame(struct adapter *adapte= r, struct recv_frame *precv pattrib->frag_num =3D GetFragNum(ptr); pattrib->seq_num =3D GetSequence(ptr); =20 - pattrib->pw_save =3D GetPwrMgt(ptr); + pattrib->pw_save =3D ieee80211_has_pm(fc); pattrib->mfrag =3D ieee80211_has_morefrags(fc); pattrib->mdata =3D ieee80211_has_moredata(fc); pattrib->privacy =3D ieee80211_has_protected(fc); --=20 2.30.2 From nobody Mon Jun 22 13:25:11 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 AF3D4C433EF for ; Wed, 23 Mar 2022 07:49:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242343AbiCWHu5 (ORCPT ); Wed, 23 Mar 2022 03:50:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44346 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242194AbiCWHun (ORCPT ); Wed, 23 Mar 2022 03:50:43 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 69AB86FF6A for ; Wed, 23 Mar 2022 00:49:14 -0700 (PDT) Received: from dslb-178-004-173-157.178.004.pools.vodafone-ip.de ([178.4.173.157] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nWvjy-0003JV-0M; Wed, 23 Mar 2022 08:49:10 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 3/7] staging: r8188eu: use standard mechanisms for control frames Date: Wed, 23 Mar 2022 08:48:55 +0100 Message-Id: <20220323074859.177425-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220323074859.177425-1-martin@kaiser.cx> References: <20220323074859.177425-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use defines and macros from ieee80211.h to check for control frames and to define control frame subtypes. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 3 ++- drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c | 3 ++- drivers/staging/r8188eu/include/wifi.h | 21 ++++++------------- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index fa0ae1c1187b..f1983f3ff9f3 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -801,9 +801,10 @@ static int validate_recv_ctrl_frame(struct adapter *pa= dapter, struct rx_pkt_attrib *pattrib =3D &precv_frame->attrib; struct sta_priv *pstapriv =3D &padapter->stapriv; u8 *pframe =3D precv_frame->rx_data; + __le16 fc =3D *(__le16 *)pframe; /* uint len =3D precv_frame->len; */ =20 - if (GetFrameType(pframe) !=3D WIFI_CTRL_TYPE) + if (!ieee80211_is_ctl(fc)) return _FAIL; =20 /* receive the frames that ra(a1) is my address */ diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_rxdesc.c index 9bf7a9248026..7e50a42b6f75 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c @@ -113,12 +113,13 @@ void update_recvframe_phyinfo_88e(struct recv_frame *= precvframe, struct phy_stat struct hal_data_8188e *pHalData =3D &padapter->haldata; struct phy_info *pPHYInfo =3D &pattrib->phy_info; u8 *wlanhdr =3D precvframe->rx_data; + __le16 fc =3D *(__le16 *)wlanhdr; struct odm_per_pkt_info pkt_info; u8 *sa =3D NULL; struct sta_priv *pstapriv; struct sta_info *psta; =20 - pkt_info.bPacketMatchBSSID =3D ((!IsFrameTypeCtrl(wlanhdr)) && + pkt_info.bPacketMatchBSSID =3D ((!ieee80211_is_ctl(fc)) && !pattrib->icv_err && !pattrib->crc_err && !memcmp(get_hdr_bssid(wlanhdr), get_bssid(&padapter->mlmepriv), ETH_ALEN)); diff --git a/drivers/staging/r8188eu/include/wifi.h b/drivers/staging/r8188= eu/include/wifi.h index 299553351246..47b73fde2006 100644 --- a/drivers/staging/r8188eu/include/wifi.h +++ b/drivers/staging/r8188eu/include/wifi.h @@ -13,7 +13,6 @@ #define WLAN_SSID_MAXLEN 32 =20 enum WIFI_FRAME_TYPE { - WIFI_CTRL_TYPE =3D (BIT(2)), WIFI_DATA_TYPE =3D (BIT(3)), WIFI_QOS_DATA_TYPE =3D (BIT(7)|BIT(3)), /* QoS Data */ }; @@ -34,13 +33,12 @@ enum WIFI_FRAME_SUBTYPE { WIFI_ACTION =3D (BIT(7) | BIT(6) | BIT(4) | IEEE80211_FTYPE_MGMT), =20 /* below is for control frame */ - WIFI_PSPOLL =3D (BIT(7) | BIT(5) | WIFI_CTRL_TYPE), - WIFI_RTS =3D (BIT(7) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE), - WIFI_CTS =3D (BIT(7) | BIT(6) | WIFI_CTRL_TYPE), - WIFI_ACK =3D (BIT(7) | BIT(6) | BIT(4) | WIFI_CTRL_TYPE), - WIFI_CFEND =3D (BIT(7) | BIT(6) | BIT(5) | WIFI_CTRL_TYPE), - WIFI_CFEND_CFACK =3D (BIT(7) | BIT(6) | BIT(5) | BIT(4) | - WIFI_CTRL_TYPE), + WIFI_PSPOLL =3D (BIT(7) | BIT(5) | IEEE80211_FTYPE_CTL), + WIFI_RTS =3D (BIT(7) | BIT(5) | BIT(4) | IEEE80211_FTYPE_CTL), + WIFI_CTS =3D (BIT(7) | BIT(6) | IEEE80211_FTYPE_CTL), + WIFI_ACK =3D (BIT(7) | BIT(6) | BIT(4) | IEEE80211_FTYPE_CTL), + WIFI_CFEND =3D (BIT(7) | BIT(6) | BIT(5) | IEEE80211_FTYPE_CTL), + WIFI_CFEND_CFACK =3D (BIT(7) | BIT(6) | BIT(5) | BIT(4) | IEEE80211_FT= YPE_CTL), =20 /* below is for data frame */ WIFI_DATA =3D (0 | WIFI_DATA_TYPE), @@ -340,13 +338,6 @@ static inline unsigned char *get_hdr_bssid(unsigned ch= ar *pframe) return sa; } =20 -static inline bool IsFrameTypeCtrl(unsigned char *pframe) -{ - if (WIFI_CTRL_TYPE =3D=3D GetFrameType(pframe)) - return true; - else - return false; -} /*------------------------------------------------------------------------= ----- Below is for the security related definition --------------------------------------------------------------------------= ----*/ --=20 2.30.2 From nobody Mon Jun 22 13:25:11 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 97087C433F5 for ; Wed, 23 Mar 2022 07:49:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242322AbiCWHvC (ORCPT ); Wed, 23 Mar 2022 03:51:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44364 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240525AbiCWHun (ORCPT ); Wed, 23 Mar 2022 03:50:43 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B37E66FF76 for ; Wed, 23 Mar 2022 00:49:14 -0700 (PDT) Received: from dslb-178-004-173-157.178.004.pools.vodafone-ip.de ([178.4.173.157] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nWvjy-0003JV-Qa; Wed, 23 Mar 2022 08:49:10 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 4/7] staging: r8188eu: use standard mechanisms for data frames Date: Wed, 23 Mar 2022 08:48:56 +0100 Message-Id: <20220323074859.177425-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220323074859.177425-1-martin@kaiser.cx> References: <20220323074859.177425-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use defines and macros from ieee80211.h to check for data frames and to define data frame subtypes. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 5 +++-- drivers/staging/r8188eu/core/rtw_xmit.c | 4 ++-- drivers/staging/r8188eu/include/wifi.h | 17 ++++++++--------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index f1983f3ff9f3..7b1c83e502f0 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -1283,8 +1283,9 @@ struct recv_frame *recvframe_chk_defrag(struct adapte= r *padapter, struct recv_fr psta_addr =3D pfhdr->attrib.ta; psta =3D rtw_get_stainfo(pstapriv, psta_addr); if (!psta) { - u8 type =3D GetFrameType(pfhdr->rx_data); - if (type !=3D WIFI_DATA_TYPE) { + __le16 fc =3D *(__le16 *)pfhdr->rx_data; + + if (ieee80211_is_data(fc)) { psta =3D rtw_get_bcmc_stainfo(padapter); pdefrag_q =3D &psta->sta_recvpriv.defrag_q; } else { diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index c2a550e7250e..781dc80ff9ed 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -497,7 +497,7 @@ static s32 update_attrib(struct adapter *padapter, stru= ct sk_buff *pkt, struct p pattrib->pkt_hdrlen =3D ETH_HLEN;/* pattrib->ether_type =3D=3D 0x8100) ? = (14 + 4): 14; vlan tag */ =20 pattrib->hdrlen =3D WLAN_HDR_A3_LEN; - pattrib->subtype =3D WIFI_DATA_TYPE; + pattrib->subtype =3D IEEE80211_FTYPE_DATA; pattrib->priority =3D 0; =20 if (check_fwstate(pmlmepriv, WIFI_AP_STATE | WIFI_ADHOC_STATE | WIFI_ADHO= C_MASTER_STATE)) { @@ -717,7 +717,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr,= struct pkt_attrib *pattr =20 SetFrameSubType(fctrl, pattrib->subtype); =20 - if (pattrib->subtype & WIFI_DATA_TYPE) { + if (pattrib->subtype & IEEE80211_FTYPE_DATA) { if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { /* to_ds =3D 1, fr_ds =3D 0; */ /* Data transfer to AP */ diff --git a/drivers/staging/r8188eu/include/wifi.h b/drivers/staging/r8188= eu/include/wifi.h index 47b73fde2006..c71334f3986a 100644 --- a/drivers/staging/r8188eu/include/wifi.h +++ b/drivers/staging/r8188eu/include/wifi.h @@ -13,7 +13,6 @@ #define WLAN_SSID_MAXLEN 32 =20 enum WIFI_FRAME_TYPE { - WIFI_DATA_TYPE =3D (BIT(3)), WIFI_QOS_DATA_TYPE =3D (BIT(7)|BIT(3)), /* QoS Data */ }; =20 @@ -41,14 +40,14 @@ enum WIFI_FRAME_SUBTYPE { WIFI_CFEND_CFACK =3D (BIT(7) | BIT(6) | BIT(5) | BIT(4) | IEEE80211_FT= YPE_CTL), =20 /* below is for data frame */ - WIFI_DATA =3D (0 | WIFI_DATA_TYPE), - WIFI_DATA_CFACK =3D (BIT(4) | WIFI_DATA_TYPE), - WIFI_DATA_CFPOLL =3D (BIT(5) | WIFI_DATA_TYPE), - WIFI_DATA_CFACKPOLL =3D (BIT(5) | BIT(4) | WIFI_DATA_TYPE), - WIFI_DATA_NULL =3D (BIT(6) | WIFI_DATA_TYPE), - WIFI_CF_ACK =3D (BIT(6) | BIT(4) | WIFI_DATA_TYPE), - WIFI_CF_POLL =3D (BIT(6) | BIT(5) | WIFI_DATA_TYPE), - WIFI_CF_ACKPOLL =3D (BIT(6) | BIT(5) | BIT(4) | WIFI_DATA_TYPE), + WIFI_DATA =3D (0 | IEEE80211_FTYPE_DATA), + WIFI_DATA_CFACK =3D (BIT(4) | IEEE80211_FTYPE_DATA), + WIFI_DATA_CFPOLL =3D (BIT(5) | IEEE80211_FTYPE_DATA), + WIFI_DATA_CFACKPOLL =3D (BIT(5) | BIT(4) | IEEE80211_FTYPE_DATA), + WIFI_DATA_NULL =3D (BIT(6) | IEEE80211_FTYPE_DATA), + WIFI_CF_ACK =3D (BIT(6) | BIT(4) | IEEE80211_FTYPE_DATA), + WIFI_CF_POLL =3D (BIT(6) | BIT(5) | IEEE80211_FTYPE_DATA), + WIFI_CF_ACKPOLL =3D (BIT(6) | BIT(5) | BIT(4) | IEEE80211_FTYPE_DATA), WIFI_QOS_DATA_NULL =3D (BIT(6) | WIFI_QOS_DATA_TYPE), }; =20 --=20 2.30.2 From nobody Mon Jun 22 13:25:11 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 0C5B1C433F5 for ; Wed, 23 Mar 2022 07:49:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242346AbiCWHvP (ORCPT ); Wed, 23 Mar 2022 03:51:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44554 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242296AbiCWHup (ORCPT ); Wed, 23 Mar 2022 03:50:45 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A21F470050 for ; Wed, 23 Mar 2022 00:49:16 -0700 (PDT) Received: from dslb-178-004-173-157.178.004.pools.vodafone-ip.de ([178.4.173.157] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nWvjz-0003JV-LJ; Wed, 23 Mar 2022 08:49:11 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 5/7] staging: r8188eu: use standard mechanisms for qos data frames Date: Wed, 23 Mar 2022 08:48:57 +0100 Message-Id: <20220323074859.177425-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220323074859.177425-1-martin@kaiser.cx> References: <20220323074859.177425-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use defines and macros from ieee80211.h to check for qos data frames and to mark a frame as qos data. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 4 ++-- drivers/staging/r8188eu/core/rtw_xmit.c | 2 +- drivers/staging/r8188eu/include/wifi.h | 6 +----- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index 7b1c83e502f0..cad7cbb92d07 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -749,6 +749,7 @@ static int sta2ap_data_frame(struct adapter *adapter, struct sta_priv *pstapriv =3D &adapter->stapriv; struct mlme_priv *pmlmepriv =3D &adapter->mlmepriv; u8 *ptr =3D precv_frame->rx_data; + __le16 fc =3D *(__le16 *)ptr; unsigned char *mybssid =3D get_bssid(pmlmepriv); int ret =3D _SUCCESS; =20 @@ -769,9 +770,8 @@ static int sta2ap_data_frame(struct adapter *adapter, =20 process_pwrbit_data(adapter, precv_frame); =20 - if ((GetFrameSubType(ptr) & WIFI_QOS_DATA_TYPE) =3D=3D WIFI_QOS_DATA_TYP= E) { + if (ieee80211_is_data_qos(fc)) process_wmmps_data(adapter, precv_frame); - } =20 if (GetFrameSubType(ptr) & BIT(6)) { /* No data, will not indicate to upper layer, temporily count it here */ diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 781dc80ff9ed..aede8ef8b098 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -399,7 +399,7 @@ static void set_qos(struct pkt_file *ppktfile, struct p= kt_attrib *pattrib) =20 pattrib->priority =3D user_prio; pattrib->hdrlen =3D WLAN_HDR_A3_QOS_LEN; - pattrib->subtype =3D WIFI_QOS_DATA_TYPE; + pattrib->subtype =3D IEEE80211_STYPE_QOS_DATA | IEEE80211_FTYPE_DATA; } =20 static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, st= ruct pkt_attrib *pattrib) diff --git a/drivers/staging/r8188eu/include/wifi.h b/drivers/staging/r8188= eu/include/wifi.h index c71334f3986a..2e42b4b48c25 100644 --- a/drivers/staging/r8188eu/include/wifi.h +++ b/drivers/staging/r8188eu/include/wifi.h @@ -12,10 +12,6 @@ #define WLAN_HDR_A3_QOS_LEN 26 #define WLAN_SSID_MAXLEN 32 =20 -enum WIFI_FRAME_TYPE { - WIFI_QOS_DATA_TYPE =3D (BIT(7)|BIT(3)), /* QoS Data */ -}; - enum WIFI_FRAME_SUBTYPE { /* below is for mgt frame */ WIFI_ASSOCREQ =3D (0 | IEEE80211_FTYPE_MGMT), @@ -48,7 +44,7 @@ enum WIFI_FRAME_SUBTYPE { WIFI_CF_ACK =3D (BIT(6) | BIT(4) | IEEE80211_FTYPE_DATA), WIFI_CF_POLL =3D (BIT(6) | BIT(5) | IEEE80211_FTYPE_DATA), WIFI_CF_ACKPOLL =3D (BIT(6) | BIT(5) | BIT(4) | IEEE80211_FTYPE_DATA), - WIFI_QOS_DATA_NULL =3D (BIT(6) | WIFI_QOS_DATA_TYPE), + WIFI_QOS_DATA_NULL =3D (BIT(6) | IEEE80211_STYPE_QOS_DATA | IEEE80211_FTY= PE_DATA), }; =20 enum WIFI_REASON_CODE { --=20 2.30.2 From nobody Mon Jun 22 13:25:11 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 13934C433EF for ; Wed, 23 Mar 2022 07:49:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242345AbiCWHvL (ORCPT ); Wed, 23 Mar 2022 03:51:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44458 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242292AbiCWHuo (ORCPT ); Wed, 23 Mar 2022 03:50:44 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 185F36FF6A for ; Wed, 23 Mar 2022 00:49:16 -0700 (PDT) Received: from dslb-178-004-173-157.178.004.pools.vodafone-ip.de ([178.4.173.157] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nWvk0-0003JV-Hz; Wed, 23 Mar 2022 08:49:12 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 6/7] staging: r8188eu: remove unused data frame subtypes Date: Wed, 23 Mar 2022 08:48:58 +0100 Message-Id: <20220323074859.177425-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220323074859.177425-1-martin@kaiser.cx> References: <20220323074859.177425-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Remove unused defines for data frame subtypes. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/include/wifi.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/r8188eu/include/wifi.h b/drivers/staging/r8188= eu/include/wifi.h index 2e42b4b48c25..79a2675c6cc1 100644 --- a/drivers/staging/r8188eu/include/wifi.h +++ b/drivers/staging/r8188eu/include/wifi.h @@ -41,9 +41,6 @@ enum WIFI_FRAME_SUBTYPE { WIFI_DATA_CFPOLL =3D (BIT(5) | IEEE80211_FTYPE_DATA), WIFI_DATA_CFACKPOLL =3D (BIT(5) | BIT(4) | IEEE80211_FTYPE_DATA), WIFI_DATA_NULL =3D (BIT(6) | IEEE80211_FTYPE_DATA), - WIFI_CF_ACK =3D (BIT(6) | BIT(4) | IEEE80211_FTYPE_DATA), - WIFI_CF_POLL =3D (BIT(6) | BIT(5) | IEEE80211_FTYPE_DATA), - WIFI_CF_ACKPOLL =3D (BIT(6) | BIT(5) | BIT(4) | IEEE80211_FTYPE_DATA), WIFI_QOS_DATA_NULL =3D (BIT(6) | IEEE80211_STYPE_QOS_DATA | IEEE80211_FTY= PE_DATA), }; =20 --=20 2.30.2 From nobody Mon Jun 22 13:25:11 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 BF838C433EF for ; Wed, 23 Mar 2022 07:49:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242330AbiCWHvM (ORCPT ); Wed, 23 Mar 2022 03:51:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44754 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242305AbiCWHus (ORCPT ); Wed, 23 Mar 2022 03:50:48 -0400 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CF92371A2D for ; Wed, 23 Mar 2022 00:49:17 -0700 (PDT) Received: from dslb-178-004-173-157.178.004.pools.vodafone-ip.de ([178.4.173.157] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nWvk1-0003JV-Er; Wed, 23 Mar 2022 08:49:13 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 7/7] staging: r8188eu: remove unused control frame subtypes Date: Wed, 23 Mar 2022 08:48:59 +0100 Message-Id: <20220323074859.177425-8-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220323074859.177425-1-martin@kaiser.cx> References: <20220323074859.177425-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Remove unused defines for control frame subtypes. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/include/wifi.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/staging/r8188eu/include/wifi.h b/drivers/staging/r8188= eu/include/wifi.h index 79a2675c6cc1..24d404f0f5f4 100644 --- a/drivers/staging/r8188eu/include/wifi.h +++ b/drivers/staging/r8188eu/include/wifi.h @@ -29,11 +29,6 @@ enum WIFI_FRAME_SUBTYPE { =20 /* below is for control frame */ WIFI_PSPOLL =3D (BIT(7) | BIT(5) | IEEE80211_FTYPE_CTL), - WIFI_RTS =3D (BIT(7) | BIT(5) | BIT(4) | IEEE80211_FTYPE_CTL), - WIFI_CTS =3D (BIT(7) | BIT(6) | IEEE80211_FTYPE_CTL), - WIFI_ACK =3D (BIT(7) | BIT(6) | BIT(4) | IEEE80211_FTYPE_CTL), - WIFI_CFEND =3D (BIT(7) | BIT(6) | BIT(5) | IEEE80211_FTYPE_CTL), - WIFI_CFEND_CFACK =3D (BIT(7) | BIT(6) | BIT(5) | BIT(4) | IEEE80211_FT= YPE_CTL), =20 /* below is for data frame */ WIFI_DATA =3D (0 | IEEE80211_FTYPE_DATA), --=20 2.30.2