From nobody Mon May 11 05:35:09 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 04CDFC433F5 for ; Wed, 13 Apr 2022 20:08:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236839AbiDMUKX (ORCPT ); Wed, 13 Apr 2022 16:10:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52306 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235385AbiDMUKP (ORCPT ); Wed, 13 Apr 2022 16:10:15 -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 0C0647B54E for ; Wed, 13 Apr 2022 13:07:53 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1nejHJ-0005wN-OK; Wed, 13 Apr 2022 22:07:49 +0200 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/4] staging: r8188eu: use ieee80211 helper to read the qos tid Date: Wed, 13 Apr 2022 22:07:39 +0200 Message-Id: <20220413200742.276806-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413200742.276806-1-martin@kaiser.cx> References: <20220413200742.276806-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" Replace the driver-specific GetPriority macro with ieee80211_get_tid, which does exactly the same thing. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 2 +- drivers/staging/r8188eu/include/wifi.h | 2 -- 2 files 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 91a6e0f035f4..16224476d18a 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -978,7 +978,7 @@ static int validate_recv_data_frame(struct adapter *ada= pter, pattrib->ack_policy =3D 0; /* parsing QC field */ if (pattrib->qos) { - pattrib->priority =3D GetPriority((ptr + 24)); + pattrib->priority =3D ieee80211_get_tid(hdr); pattrib->ack_policy =3D GetAckpolicy((ptr + 24)); pattrib->amsdu =3D GetAMsdu((ptr + 24)); pattrib->hdrlen =3D 26; diff --git a/drivers/staging/r8188eu/include/wifi.h b/drivers/staging/r8188= eu/include/wifi.h index b26770e91fc0..0254310bdf44 100644 --- a/drivers/staging/r8188eu/include/wifi.h +++ b/drivers/staging/r8188eu/include/wifi.h @@ -211,8 +211,6 @@ enum WIFI_REG_DOMAIN { #define SetPriority(pbuf, tid) \ *(__le16 *)(pbuf) |=3D cpu_to_le16(tid & 0xf) =20 -#define GetPriority(pbuf) ((le16_to_cpu(*(__le16 *)(pbuf))) & 0xf) - #define SetEOSP(pbuf, eosp) \ *(__le16 *)(pbuf) |=3D cpu_to_le16((eosp & 1) << 4) =20 --=20 2.30.2 From nobody Mon May 11 05:35:09 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 4A3E6C433F5 for ; Wed, 13 Apr 2022 20:08:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238604AbiDMUK3 (ORCPT ); Wed, 13 Apr 2022 16:10:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238184AbiDMUKQ (ORCPT ); Wed, 13 Apr 2022 16:10:16 -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 289757CDCF for ; Wed, 13 Apr 2022 13:07:54 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1nejHK-0005wN-Jr; Wed, 13 Apr 2022 22:07:50 +0200 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/4] staging: r8188eu: merge _mgt_dispatcher into mgt_dispatcher Date: Wed, 13 Apr 2022 22:07:40 +0200 Message-Id: <20220413200742.276806-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413200742.276806-1-martin@kaiser.cx> References: <20220413200742.276806-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" All that the _mgt_dispatcher function does is to call a function from a function pointer. It's not worth having a separate function for this. Merge _mgt_dispatcher into mgt_dispatcher. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 22 ++++++++------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index 66dd06371991..ba071de4c05c 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -390,19 +390,6 @@ void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext) } } =20 -static void _mgt_dispatcher(struct adapter *padapter, struct mlme_handler = *ptable, struct recv_frame *precv_frame) -{ - u8 *pframe =3D precv_frame->rx_data; - - if (ptable->func) { - /* receive the frames that ra(a1) is my address or ra(a1) is bc address. = */ - if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) && - !is_broadcast_ether_addr(GetAddr1Ptr(pframe))) - return; - ptable->func(padapter, precv_frame); - } -} - void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_fra= me) { int index; @@ -442,7 +429,14 @@ void mgt_dispatcher(struct adapter *padapter, struct r= ecv_frame *precv_frame) else ptable->func =3D &OnAuthClient; } - _mgt_dispatcher(padapter, ptable, precv_frame); + + if (ptable->func) { + /* receive the frames that ra(a1) is my address or ra(a1) is bc address. = */ + if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) && + !is_broadcast_ether_addr(GetAddr1Ptr(pframe))) + return; + ptable->func(padapter, precv_frame); + } } =20 static u32 p2p_listen_state_process(struct adapter *padapter, unsigned cha= r *da) --=20 2.30.2 From nobody Mon May 11 05:35:09 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 45962C433EF for ; Wed, 13 Apr 2022 20:08:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238658AbiDMUKf (ORCPT ); Wed, 13 Apr 2022 16:10:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238305AbiDMUKQ (ORCPT ); Wed, 13 Apr 2022 16:10:16 -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 BB5A27D015 for ; Wed, 13 Apr 2022 13:07:54 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1nejHL-0005wN-BK; Wed, 13 Apr 2022 22:07:51 +0200 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/4] staging: r8188eu: use ieee80211 helpers in mgt_dispatcher Date: Wed, 13 Apr 2022 22:07:41 +0200 Message-Id: <20220413200742.276806-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413200742.276806-1-martin@kaiser.cx> References: <20220413200742.276806-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 structs and functions from ieee80211.h in mgt_dispatcher to parse the incoming frame. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index ba071de4c05c..b6ee6a24930a 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -396,14 +396,15 @@ void mgt_dispatcher(struct adapter *padapter, struct = recv_frame *precv_frame) struct mlme_handler *ptable; struct mlme_priv *pmlmepriv =3D &padapter->mlmepriv; u8 *pframe =3D precv_frame->rx_data; - struct sta_info *psta =3D rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr= (pframe)); + struct ieee80211_hdr *hdr =3D (struct ieee80211_hdr *)precv_frame->rx_dat= a; + struct sta_info *psta =3D rtw_get_stainfo(&padapter->stapriv, hdr->addr2); =20 - if (GetFrameType(pframe) !=3D IEEE80211_FTYPE_MGMT) + if (!ieee80211_is_mgmt(hdr->frame_control)) return; =20 /* receive the frames that ra(a1) is my address or ra(a1) is bc address. = */ - if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) && - !is_broadcast_ether_addr(GetAddr1Ptr(pframe))) + if (memcmp(hdr->addr1, myid(&padapter->eeprompriv), ETH_ALEN) && + !is_broadcast_ether_addr(hdr->addr1)) return; =20 ptable =3D mlme_sta_tbl; @@ -415,7 +416,7 @@ void mgt_dispatcher(struct adapter *padapter, struct re= cv_frame *precv_frame) ptable +=3D index; =20 if (psta) { - if (GetRetry(pframe)) { + if (ieee80211_has_retry(hdr->frame_control)) { if (precv_frame->attrib.seq_num =3D=3D psta->RxMgmtFrameSeqNum) /* drop the duplicate management frame */ return; @@ -423,7 +424,7 @@ void mgt_dispatcher(struct adapter *padapter, struct re= cv_frame *precv_frame) psta->RxMgmtFrameSeqNum =3D precv_frame->attrib.seq_num; } =20 - if (GetFrameSubType(pframe) =3D=3D WIFI_AUTH) { + if (ieee80211_is_auth(hdr->frame_control)) { if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) ptable->func =3D &OnAuth; else @@ -432,8 +433,8 @@ void mgt_dispatcher(struct adapter *padapter, struct re= cv_frame *precv_frame) =20 if (ptable->func) { /* receive the frames that ra(a1) is my address or ra(a1) is bc address. = */ - if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) && - !is_broadcast_ether_addr(GetAddr1Ptr(pframe))) + if (memcmp(hdr->addr1, myid(&padapter->eeprompriv), ETH_ALEN) && + !is_broadcast_ether_addr(hdr->addr1)) return; ptable->func(padapter, precv_frame); } --=20 2.30.2 From nobody Mon May 11 05:35:09 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 20DC8C433EF for ; Wed, 13 Apr 2022 20:08:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238643AbiDMUKc (ORCPT ); Wed, 13 Apr 2022 16:10:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52402 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238582AbiDMUKV (ORCPT ); Wed, 13 Apr 2022 16:10:21 -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 3B6237D020 for ; Wed, 13 Apr 2022 13:07:55 -0700 (PDT) Received: from dslb-178-004-174-121.178.004.pools.vodafone-ip.de ([178.4.174.121] 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 1nejHM-0005wN-4R; Wed, 13 Apr 2022 22:07:52 +0200 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/4] staging: r8188eu: pkt_newalloc is not used Date: Wed, 13 Apr 2022 22:07:42 +0200 Message-Id: <20220413200742.276806-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220413200742.276806-1-martin@kaiser.cx> References: <20220413200742.276806-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" pkg_newalloc in struct recv_buf is not used. Remove it. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_recv.c | 1 - drivers/staging/r8188eu/include/rtw_recv.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r818= 8eu/core/rtw_recv.c index 16224476d18a..c1005ddaa249 100644 --- a/drivers/staging/r8188eu/core/rtw_recv.c +++ b/drivers/staging/r8188eu/core/rtw_recv.c @@ -71,7 +71,6 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, stru= ct adapter *padapter) =20 list_add_tail(&precvframe->list, &precvpriv->free_recv_queue.queue); =20 - precvframe->pkt_newalloc =3D NULL; precvframe->pkt =3D NULL; =20 precvframe->len =3D 0; diff --git a/drivers/staging/r8188eu/include/rtw_recv.h b/drivers/staging/r= 8188eu/include/rtw_recv.h index 59b4773bc3c9..e57e48a51f17 100644 --- a/drivers/staging/r8188eu/include/rtw_recv.h +++ b/drivers/staging/r8188eu/include/rtw_recv.h @@ -229,7 +229,6 @@ struct recv_buf { struct recv_frame { struct list_head list; struct sk_buff *pkt; - struct sk_buff *pkt_newalloc; struct adapter *adapter; u8 fragcnt; int frame_tag; --=20 2.30.2