From nobody Wed Apr 29 04:35:24 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 51F37C433EF for ; Tue, 24 May 2022 09:01:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234497AbiEXJBK (ORCPT ); Tue, 24 May 2022 05:01:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38710 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233146AbiEXJA7 (ORCPT ); Tue, 24 May 2022 05:00:59 -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 2864A77F0B for ; Tue, 24 May 2022 02:00:59 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPO-0006Y3-29; Tue, 24 May 2022 11:00:54 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 01/12] staging: r8188eu: remove unnecessary category check Date: Tue, 24 May 2022 11:00:18 +0200 Message-Id: <20220524090029.242584-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 the unnecessary category check in issue_action_BA. category is initialised to 3 (WLAN_CATEGORY_BACK) and never updated. The rtw_set_fixed_ie call gets a pointer to category but it doesn't update the value. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 94 ++++++++++----------- 1 file changed, 46 insertions(+), 48 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index faf23fc950c5..f47cf3e7316c 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5415,60 +5415,58 @@ void issue_action_BA(struct adapter *padapter, unsi= gned char *raddr, unsigned ch pframe =3D rtw_set_fixed_ie(pframe, 1, &(category), &pattrib->pktlen); pframe =3D rtw_set_fixed_ie(pframe, 1, &(action), &pattrib->pktlen); =20 - if (category =3D=3D 3) { - switch (action) { - case 0: /* ADDBA req */ - do { - pmlmeinfo->dialogToken++; - } while (pmlmeinfo->dialogToken =3D=3D 0); - pframe =3D rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->dialogToken, &pattri= b->pktlen); + switch (action) { + case 0: /* ADDBA req */ + do { + pmlmeinfo->dialogToken++; + } while (pmlmeinfo->dialogToken =3D=3D 0); + pframe =3D rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->dialogToken, &pattrib= ->pktlen); =20 - BA_para_set =3D (0x1002 | ((status & 0xf) << 2)); /* immediate ack & 64= buffer size */ - le_tmp =3D cpu_to_le16(BA_para_set); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattr= ib->pktlen); + BA_para_set =3D (0x1002 | ((status & 0xf) << 2)); /* immediate ack & 64 = buffer size */ + le_tmp =3D cpu_to_le16(BA_para_set); + pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); =20 - BA_timeout_value =3D 5000;/* 5ms */ - le_tmp =3D cpu_to_le16(BA_timeout_value); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattr= ib->pktlen); + BA_timeout_value =3D 5000;/* 5ms */ + le_tmp =3D cpu_to_le16(BA_timeout_value); + pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); =20 - psta =3D rtw_get_stainfo(pstapriv, raddr); - if (psta) { - start_seq =3D (psta->sta_xmitpriv.txseq_tid[status & 0x07] & 0xfff) + = 1; + psta =3D rtw_get_stainfo(pstapriv, raddr); + if (psta) { + start_seq =3D (psta->sta_xmitpriv.txseq_tid[status & 0x07] & 0xfff) + 1; =20 - psta->BA_starting_seqctrl[status & 0x07] =3D start_seq; + psta->BA_starting_seqctrl[status & 0x07] =3D start_seq; =20 - BA_starting_seqctrl =3D start_seq << 4; - } - le_tmp =3D cpu_to_le16(BA_starting_seqctrl); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattr= ib->pktlen); - break; - case 1: /* ADDBA rsp */ - pframe =3D rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->ADDBA_req.dialog_tok= en, &pattrib->pktlen); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&status, &pattr= ib->pktlen); - BA_para_set =3D le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f; - BA_para_set |=3D 0x1000; /* 64 buffer size */ - - if (pregpriv->ampdu_amsdu =3D=3D 0)/* disabled */ - BA_para_set =3D BA_para_set & ~BIT(0); - else if (pregpriv->ampdu_amsdu =3D=3D 1)/* enabled */ - BA_para_set =3D BA_para_set | BIT(0); - le_tmp =3D cpu_to_le16(BA_para_set); - - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattr= ib->pktlen); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&pmlmeinfo->ADD= BA_req.BA_timeout_value, &pattrib->pktlen); - break; - case 2:/* DELBA */ - BA_para_set =3D (status & 0x1F) << 3; - le_tmp =3D cpu_to_le16(BA_para_set); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattr= ib->pktlen); - - reason_code =3D 37;/* Requested from peer STA as it does not want to us= e the mechanism */ - le_tmp =3D cpu_to_le16(reason_code); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattr= ib->pktlen); - break; - default: - break; + BA_starting_seqctrl =3D start_seq << 4; } + le_tmp =3D cpu_to_le16(BA_starting_seqctrl); + pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); + break; + case 1: /* ADDBA rsp */ + pframe =3D rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->ADDBA_req.dialog_toke= n, &pattrib->pktlen); + pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&status, &pattri= b->pktlen); + BA_para_set =3D le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f; + BA_para_set |=3D 0x1000; /* 64 buffer size */ + + if (pregpriv->ampdu_amsdu =3D=3D 0)/* disabled */ + BA_para_set =3D BA_para_set & ~BIT(0); + else if (pregpriv->ampdu_amsdu =3D=3D 1)/* enabled */ + BA_para_set =3D BA_para_set | BIT(0); + le_tmp =3D cpu_to_le16(BA_para_set); + + pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); + pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&pmlmeinfo->ADDB= A_req.BA_timeout_value, &pattrib->pktlen); + break; + case 2:/* DELBA */ + BA_para_set =3D (status & 0x1F) << 3; + le_tmp =3D cpu_to_le16(BA_para_set); + pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); + + reason_code =3D 37;/* Requested from peer STA as it does not want to use= the mechanism */ + le_tmp =3D cpu_to_le16(reason_code); + pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); + break; + default: + break; } =20 pattrib->last_txcmdsz =3D pattrib->pktlen; --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 3433BC433F5 for ; Tue, 24 May 2022 09:01:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234647AbiEXJBd (ORCPT ); Tue, 24 May 2022 05:01:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38872 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232937AbiEXJBF (ORCPT ); Tue, 24 May 2022 05:01:05 -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 351F277F17 for ; Tue, 24 May 2022 02:01:00 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPO-0006Y3-T4; Tue, 24 May 2022 11:00:54 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 02/12] staging: r8188eu: use defines for the block action codes Date: Tue, 24 May 2022 11:00:19 +0200 Message-Id: <20220524090029.242584-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 numeric values for the block action codes in issue_action_BA with the defines from ieee80211.h. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index f47cf3e7316c..0265784368e2 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5416,7 +5416,7 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch pframe =3D rtw_set_fixed_ie(pframe, 1, &(action), &pattrib->pktlen); =20 switch (action) { - case 0: /* ADDBA req */ + case WLAN_ACTION_ADDBA_REQ: do { pmlmeinfo->dialogToken++; } while (pmlmeinfo->dialogToken =3D=3D 0); @@ -5441,7 +5441,7 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch le_tmp =3D cpu_to_le16(BA_starting_seqctrl); pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); break; - case 1: /* ADDBA rsp */ + case WLAN_ACTION_ADDBA_RESP: pframe =3D rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->ADDBA_req.dialog_toke= n, &pattrib->pktlen); pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&status, &pattri= b->pktlen); BA_para_set =3D le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f; @@ -5456,7 +5456,7 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&pmlmeinfo->ADDB= A_req.BA_timeout_value, &pattrib->pktlen); break; - case 2:/* DELBA */ + case WLAN_ACTION_DELBA: BA_para_set =3D (status & 0x1F) << 3; le_tmp =3D cpu_to_le16(BA_para_set); pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 41F7CC433F5 for ; Tue, 24 May 2022 09:01:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234823AbiEXJBi (ORCPT ); Tue, 24 May 2022 05:01:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233065AbiEXJBF (ORCPT ); Tue, 24 May 2022 05:01:05 -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 E0299B07 for ; Tue, 24 May 2022 02:01:00 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPP-0006Y3-Jn; Tue, 24 May 2022 11:00:55 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 03/12] staging: r8188eu: use ieee80211_mgmt in issue_action_BA Date: Tue, 24 May 2022 11:00:20 +0200 Message-Id: <20220524090029.242584-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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" Define a struct ieee80211_mgmt variable in issue_action_BA, this will make it much simpler to populate the fields of the outoing frame. Use the new mgmt variable to set the type and subtype of the frame. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index 0265784368e2..eec716fea41c 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5376,13 +5376,13 @@ void issue_action_BA(struct adapter *padapter, unsi= gned char *raddr, unsigned ch struct pkt_attrib *pattrib; u8 *pframe; struct ieee80211_hdr *pwlanhdr; - __le16 *fctrl; struct xmit_priv *pxmitpriv =3D &padapter->xmitpriv; struct mlme_ext_priv *pmlmeext =3D &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo =3D &pmlmeext->mlmext_info; struct sta_info *psta; struct sta_priv *pstapriv =3D &padapter->stapriv; struct registry_priv *pregpriv =3D &padapter->registrypriv; + struct ieee80211_mgmt *mgmt; =20 pmgntframe =3D alloc_mgtxmitframe(pxmitpriv); if (!pmgntframe) @@ -5396,9 +5396,9 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch =20 pframe =3D (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET; pwlanhdr =3D (struct ieee80211_hdr *)pframe; + mgmt =3D (struct ieee80211_mgmt *)pframe; =20 - fctrl =3D &pwlanhdr->frame_control; - *(fctrl) =3D 0; + mgmt->frame_control =3D cpu_to_le16(IEEE80211_STYPE_ACTION | IEEE80211_FT= YPE_MGMT); =20 /* memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN)= ; */ memcpy(pwlanhdr->addr1, raddr, ETH_ALEN); @@ -5407,7 +5407,6 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch =20 SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq); pmlmeext->mgnt_seq++; - SetFrameSubType(pframe, WIFI_ACTION); =20 pframe +=3D sizeof(struct ieee80211_hdr_3addr); pattrib->pktlen =3D sizeof(struct ieee80211_hdr_3addr); --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 B5234C433F5 for ; Tue, 24 May 2022 09:01:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234677AbiEXJBX (ORCPT ); Tue, 24 May 2022 05:01:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233630AbiEXJBF (ORCPT ); Tue, 24 May 2022 05:01:05 -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 113E4D68 for ; Tue, 24 May 2022 02:01:01 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPQ-0006Y3-9b; Tue, 24 May 2022 11:00:56 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 04/12] staging: r8188eu: use mgmt to set the addresses Date: Tue, 24 May 2022 11:00:21 +0200 Message-Id: <20220524090029.242584-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 mgmt structure in issue_action_BA to set the three addresses of the outgoing frame. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index eec716fea41c..f08521cb1ff7 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5400,10 +5400,9 @@ void issue_action_BA(struct adapter *padapter, unsig= ned char *raddr, unsigned ch =20 mgmt->frame_control =3D cpu_to_le16(IEEE80211_STYPE_ACTION | IEEE80211_FT= YPE_MGMT); =20 - /* memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN)= ; */ - memcpy(pwlanhdr->addr1, raddr, ETH_ALEN); - memcpy(pwlanhdr->addr2, myid(&padapter->eeprompriv), ETH_ALEN); - memcpy(pwlanhdr->addr3, get_my_bssid(&pmlmeinfo->network), ETH_ALEN); + memcpy(mgmt->da, raddr, ETH_ALEN); + memcpy(mgmt->sa, myid(&padapter->eeprompriv), ETH_ALEN); + memcpy(mgmt->bssid, get_my_bssid(&pmlmeinfo->network), ETH_ALEN); =20 SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq); pmlmeext->mgnt_seq++; --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 5698CC433EF for ; Tue, 24 May 2022 09:01:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234515AbiEXJBO (ORCPT ); Tue, 24 May 2022 05:01:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233635AbiEXJBF (ORCPT ); Tue, 24 May 2022 05:01:05 -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 52200B47 for ; Tue, 24 May 2022 02:01:02 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPQ-0006Y3-W9; Tue, 24 May 2022 11:00:57 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser , kernel test robot Subject: [PATCH v2 05/12] staging: r8188eu: use mgmt to set the sequence number Date: Tue, 24 May 2022 11:00:22 +0200 Message-Id: <20220524090029.242584-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 mgmt structure in issue_action_BA to set the sequence number of the outgoing frame. pwlanhdr is now unused, it can be removed. Reported-by: kernel test robot Signed-off-by: Martin Kaiser --- v2: - remove pwlanhdr, it's not used any more drivers/staging/r8188eu/core/rtw_mlme_ext.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index f08521cb1ff7..e64f2a0ec626 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5375,7 +5375,6 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch struct xmit_frame *pmgntframe; struct pkt_attrib *pattrib; u8 *pframe; - struct ieee80211_hdr *pwlanhdr; struct xmit_priv *pxmitpriv =3D &padapter->xmitpriv; struct mlme_ext_priv *pmlmeext =3D &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo =3D &pmlmeext->mlmext_info; @@ -5395,7 +5394,6 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET); =20 pframe =3D (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET; - pwlanhdr =3D (struct ieee80211_hdr *)pframe; mgmt =3D (struct ieee80211_mgmt *)pframe; =20 mgmt->frame_control =3D cpu_to_le16(IEEE80211_STYPE_ACTION | IEEE80211_FT= YPE_MGMT); @@ -5404,7 +5402,7 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch memcpy(mgmt->sa, myid(&padapter->eeprompriv), ETH_ALEN); memcpy(mgmt->bssid, get_my_bssid(&pmlmeinfo->network), ETH_ALEN); =20 - SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq); + mgmt->seq_ctrl =3D cpu_to_le16(pmlmeext->mgnt_seq); pmlmeext->mgnt_seq++; =20 pframe +=3D sizeof(struct ieee80211_hdr_3addr); --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 B40AAC433EF for ; Tue, 24 May 2022 09:01:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234743AbiEXJBn (ORCPT ); Tue, 24 May 2022 05:01:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38990 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234293AbiEXJBH (ORCPT ); Tue, 24 May 2022 05:01:07 -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 5EA35DEB for ; Tue, 24 May 2022 02:01:02 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPR-0006Y3-NP; Tue, 24 May 2022 11:00:57 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 06/12] staging: r8188eu: use mgmt to set the category Date: Tue, 24 May 2022 11:00:23 +0200 Message-Id: <20220524090029.242584-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 mgmt structure in issue_action_BA to set the category of the outgoing frame. Remove the rtw_set_fixed_ie call. We can now use the define directly, the category variable can be removed. rtw_set_fixed_ie increments pattrib->pktlen, we have to do this ourselves now (until we use a proper way to calculate the packet length). Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index e64f2a0ec626..d693e0a1396b 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5365,7 +5365,6 @@ int issue_deauth_ex(struct adapter *padapter, u8 *da,= unsigned short reason, int =20 void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsig= ned char action, unsigned short status) { - u8 category =3D WLAN_CATEGORY_BACK; u16 start_seq; u16 BA_para_set; u16 reason_code; @@ -5408,7 +5407,8 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch pframe +=3D sizeof(struct ieee80211_hdr_3addr); pattrib->pktlen =3D sizeof(struct ieee80211_hdr_3addr); =20 - pframe =3D rtw_set_fixed_ie(pframe, 1, &(category), &pattrib->pktlen); + mgmt->u.action.category =3D WLAN_CATEGORY_BACK; + pattrib->pktlen++; pframe =3D rtw_set_fixed_ie(pframe, 1, &(action), &pattrib->pktlen); =20 switch (action) { --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 189C5C433F5 for ; Tue, 24 May 2022 09:02:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234899AbiEXJCD (ORCPT ); Tue, 24 May 2022 05:02:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234287AbiEXJBH (ORCPT ); Tue, 24 May 2022 05:01:07 -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 5E7ECDE9 for ; Tue, 24 May 2022 02:01:03 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPS-0006Y3-DS; Tue, 24 May 2022 11:00:58 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 07/12] staging: r8188eu: use mgmt to set the action codes Date: Tue, 24 May 2022 11:00:24 +0200 Message-Id: <20220524090029.242584-8-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 mgmt structure in issue_action_BA to set the action codes. We have to distinguish between the different message types. We also have to increment the packet length manually as we're no longer calling rtw_set_fixed_ie, which increments the length. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index d693e0a1396b..aa73afc6e36a 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5409,10 +5409,11 @@ void issue_action_BA(struct adapter *padapter, unsi= gned char *raddr, unsigned ch =20 mgmt->u.action.category =3D WLAN_CATEGORY_BACK; pattrib->pktlen++; - pframe =3D rtw_set_fixed_ie(pframe, 1, &(action), &pattrib->pktlen); =20 switch (action) { case WLAN_ACTION_ADDBA_REQ: + mgmt->u.action.u.addba_req.action_code =3D WLAN_ACTION_ADDBA_REQ; + pattrib->pktlen++; do { pmlmeinfo->dialogToken++; } while (pmlmeinfo->dialogToken =3D=3D 0); @@ -5438,6 +5439,8 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); break; case WLAN_ACTION_ADDBA_RESP: + mgmt->u.action.u.addba_resp.action_code =3D WLAN_ACTION_ADDBA_RESP; + pattrib->pktlen++; pframe =3D rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->ADDBA_req.dialog_toke= n, &pattrib->pktlen); pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&status, &pattri= b->pktlen); BA_para_set =3D le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f; @@ -5453,6 +5456,8 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&pmlmeinfo->ADDB= A_req.BA_timeout_value, &pattrib->pktlen); break; case WLAN_ACTION_DELBA: + mgmt->u.action.u.delba.action_code =3D WLAN_ACTION_DELBA; + pattrib->pktlen++; BA_para_set =3D (status & 0x1F) << 3; le_tmp =3D cpu_to_le16(BA_para_set); pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 ED4A2C433EF for ; Tue, 24 May 2022 09:02:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234914AbiEXJB7 (ORCPT ); Tue, 24 May 2022 05:01:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38986 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234078AbiEXJBH (ORCPT ); Tue, 24 May 2022 05:01:07 -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 5ED41E09 for ; Tue, 24 May 2022 02:01:04 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPT-0006Y3-3Z; Tue, 24 May 2022 11:00:59 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 08/12] staging: r8188eu: use mgmt to set the dialog token Date: Tue, 24 May 2022 11:00:25 +0200 Message-Id: <20220524090029.242584-9-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 mgmt structure in issue_action_BA to set the dialog token. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index aa73afc6e36a..ce6327dbc534 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5417,7 +5417,8 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch do { pmlmeinfo->dialogToken++; } while (pmlmeinfo->dialogToken =3D=3D 0); - pframe =3D rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->dialogToken, &pattrib= ->pktlen); + mgmt->u.action.u.addba_req.dialog_token =3D pmlmeinfo->dialogToken; + pattrib->pktlen++; =20 BA_para_set =3D (0x1002 | ((status & 0xf) << 2)); /* immediate ack & 64 = buffer size */ le_tmp =3D cpu_to_le16(BA_para_set); --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 0B551C433EF for ; Tue, 24 May 2022 09:01:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233634AbiEXJBz (ORCPT ); Tue, 24 May 2022 05:01:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234310AbiEXJBH (ORCPT ); Tue, 24 May 2022 05:01:07 -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 EE96DB07 for ; Tue, 24 May 2022 02:01:04 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPT-0006Y3-QF; Tue, 24 May 2022 11:00:59 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 09/12] staging: r8188eu: use mgmt to set the timeout Date: Tue, 24 May 2022 11:00:26 +0200 Message-Id: <20220524090029.242584-10-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 mgmt structure in issue_action_BA to set the timeout in the outgoing frame. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index ce6327dbc534..da0c0363eb4d 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5368,7 +5368,6 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch u16 start_seq; u16 BA_para_set; u16 reason_code; - u16 BA_timeout_value; __le16 le_tmp; u16 BA_starting_seqctrl =3D 0; struct xmit_frame *pmgntframe; @@ -5424,9 +5423,8 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch le_tmp =3D cpu_to_le16(BA_para_set); pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); =20 - BA_timeout_value =3D 5000;/* 5ms */ - le_tmp =3D cpu_to_le16(BA_timeout_value); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); + mgmt->u.action.u.addba_req.timeout =3D cpu_to_le16(5000); /* 5 ms */ + pattrib->pktlen +=3D 2; =20 psta =3D rtw_get_stainfo(pstapriv, raddr); if (psta) { --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 1D64CC433F5 for ; Tue, 24 May 2022 09:02:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235173AbiEXJCK (ORCPT ); Tue, 24 May 2022 05:02:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39180 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234444AbiEXJBK (ORCPT ); Tue, 24 May 2022 05:01:10 -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 5517AF13 for ; Tue, 24 May 2022 02:01:05 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPU-0006Y3-GM; Tue, 24 May 2022 11:01:00 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 10/12] staging: r8188eu: use ieee80211 to set addba capabilities Date: Tue, 24 May 2022 11:00:27 +0200 Message-Id: <20220524090029.242584-11-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 mgmt structure and defines from ieee80211.h to set the capabilities field of an addba request. If issue_action_BA is called with action =3D=3D WLAN_ACTION_ADDBA_REQ, the status parameter contains the tid. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index da0c0363eb4d..823c54837364 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5380,6 +5380,7 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch struct sta_priv *pstapriv =3D &padapter->stapriv; struct registry_priv *pregpriv =3D &padapter->registrypriv; struct ieee80211_mgmt *mgmt; + u16 capab; =20 pmgntframe =3D alloc_mgtxmitframe(pxmitpriv); if (!pmgntframe) @@ -5419,9 +5420,12 @@ void issue_action_BA(struct adapter *padapter, unsig= ned char *raddr, unsigned ch mgmt->u.action.u.addba_req.dialog_token =3D pmlmeinfo->dialogToken; pattrib->pktlen++; =20 - BA_para_set =3D (0x1002 | ((status & 0xf) << 2)); /* immediate ack & 64 = buffer size */ - le_tmp =3D cpu_to_le16(BA_para_set); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); + /* immediate ack & 64 buffer size */ + capab =3D u16_encode_bits(64, IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK); + capab |=3D u16_encode_bits(1, IEEE80211_ADDBA_PARAM_POLICY_MASK); + capab |=3D u16_encode_bits(status, IEEE80211_ADDBA_PARAM_TID_MASK); + mgmt->u.action.u.addba_req.capab =3D cpu_to_le16(capab); + pattrib->pktlen +=3D 2; =20 mgmt->u.action.u.addba_req.timeout =3D cpu_to_le16(5000); /* 5 ms */ pattrib->pktlen +=3D 2; --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 44530C433F5 for ; Tue, 24 May 2022 09:02:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234932AbiEXJCV (ORCPT ); Tue, 24 May 2022 05:02:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234449AbiEXJBK (ORCPT ); Tue, 24 May 2022 05:01:10 -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 55248F45 for ; Tue, 24 May 2022 02:01:06 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPV-0006Y3-96; Tue, 24 May 2022 11:01:01 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 11/12] staging: r8188eu: use mgmt to set start sequence number Date: Tue, 24 May 2022 11:00:28 +0200 Message-Id: <20220524090029.242584-12-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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 mgmt structure in issue_action_BA to set the start sequence number. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index 823c54837364..408aa0a28382 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5438,8 +5438,8 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch =20 BA_starting_seqctrl =3D start_seq << 4; } - le_tmp =3D cpu_to_le16(BA_starting_seqctrl); - pframe =3D rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattri= b->pktlen); + mgmt->u.action.u.addba_req.start_seq_num =3D cpu_to_le16(BA_starting_seq= ctrl); + pattrib->pktlen +=3D 2; break; case WLAN_ACTION_ADDBA_RESP: mgmt->u.action.u.addba_resp.action_code =3D WLAN_ACTION_ADDBA_RESP; --=20 2.30.2 From nobody Wed Apr 29 04:35:24 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 7FE1DC433F5 for ; Tue, 24 May 2022 09:02:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234878AbiEXJCQ (ORCPT ); Tue, 24 May 2022 05:02:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39186 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234457AbiEXJBK (ORCPT ); Tue, 24 May 2022 05:01:10 -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 0FEF519C for ; Tue, 24 May 2022 02:01:07 -0700 (PDT) Received: from 162.sub194.ddfr.nl ([83.136.194.162] 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 1ntQPW-0006Y3-6j; Tue, 24 May 2022 11:01:02 +0200 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH v2 12/12] staging: r8188eu: calculate the addba request length Date: Tue, 24 May 2022 11:00:29 +0200 Message-Id: <20220524090029.242584-13-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220524090029.242584-1-martin@kaiser.cx> References: <20220521153824.218196-1-martin@kaiser.cx> <20220524090029.242584-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" When issue_action_BA compiles an addba request, it does not add any extensions. start_seq_num is the last field of the addba request. The length of the request is the offset of the end of start_seq_num in the struct ieee80211_mgmt that defines the message. Use offsetofend to calculate this offset and drop the intermediate pktlen increments as we add addba request components. (We have to keep the increments for other message types until we use offsetofend for them as well.) Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index 408aa0a28382..5446e19d8d09 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5413,22 +5413,18 @@ void issue_action_BA(struct adapter *padapter, unsi= gned char *raddr, unsigned ch switch (action) { case WLAN_ACTION_ADDBA_REQ: mgmt->u.action.u.addba_req.action_code =3D WLAN_ACTION_ADDBA_REQ; - pattrib->pktlen++; do { pmlmeinfo->dialogToken++; } while (pmlmeinfo->dialogToken =3D=3D 0); mgmt->u.action.u.addba_req.dialog_token =3D pmlmeinfo->dialogToken; - pattrib->pktlen++; =20 /* immediate ack & 64 buffer size */ capab =3D u16_encode_bits(64, IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK); capab |=3D u16_encode_bits(1, IEEE80211_ADDBA_PARAM_POLICY_MASK); capab |=3D u16_encode_bits(status, IEEE80211_ADDBA_PARAM_TID_MASK); mgmt->u.action.u.addba_req.capab =3D cpu_to_le16(capab); - pattrib->pktlen +=3D 2; =20 mgmt->u.action.u.addba_req.timeout =3D cpu_to_le16(5000); /* 5 ms */ - pattrib->pktlen +=3D 2; =20 psta =3D rtw_get_stainfo(pstapriv, raddr); if (psta) { @@ -5439,7 +5435,9 @@ void issue_action_BA(struct adapter *padapter, unsign= ed char *raddr, unsigned ch BA_starting_seqctrl =3D start_seq << 4; } mgmt->u.action.u.addba_req.start_seq_num =3D cpu_to_le16(BA_starting_seq= ctrl); - pattrib->pktlen +=3D 2; + + pattrib->pktlen =3D offsetofend(struct ieee80211_mgmt, + u.action.u.addba_req.start_seq_num); break; case WLAN_ACTION_ADDBA_RESP: mgmt->u.action.u.addba_resp.action_code =3D WLAN_ACTION_ADDBA_RESP; --=20 2.30.2