From nobody Thu May 7 18:11: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 CABEFC433EF for ; Sat, 21 May 2022 15:38:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245329AbiEUPix (ORCPT ); Sat, 21 May 2022 11:38:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245121AbiEUPig (ORCPT ); Sat, 21 May 2022 11:38:36 -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 5E3FE62CE5 for ; Sat, 21 May 2022 08:38:34 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBV-0007XY-FV; Sat, 21 May 2022 17:38:29 +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 01/12] staging: r8188eu: remove unnecessary category check Date: Sat, 21 May 2022 17:38:13 +0200 Message-Id: <20220521153824.218196-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 Thu May 7 18:11: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 AB04BC433F5 for ; Sat, 21 May 2022 15:38:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245332AbiEUPis (ORCPT ); Sat, 21 May 2022 11:38:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239507AbiEUPig (ORCPT ); Sat, 21 May 2022 11:38:36 -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 577E662CD2 for ; Sat, 21 May 2022 08:38:34 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBW-0007XY-Ao; Sat, 21 May 2022 17:38:30 +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 02/12] staging: r8188eu: use defines for the block action codes Date: Sat, 21 May 2022 17:38:14 +0200 Message-Id: <20220521153824.218196-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 Thu May 7 18:11: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 3A673C433EF for ; Sat, 21 May 2022 15:39:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355411AbiEUPi5 (ORCPT ); Sat, 21 May 2022 11:38:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245142AbiEUPig (ORCPT ); Sat, 21 May 2022 11:38:36 -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 EA5C262CEF for ; Sat, 21 May 2022 08:38:34 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBX-0007XY-5N; Sat, 21 May 2022 17:38:31 +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 03/12] staging: r8188eu: use ieee80211_mgmt in issue_action_BA Date: Sat, 21 May 2022 17:38:15 +0200 Message-Id: <20220521153824.218196-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 Thu May 7 18:11: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 204BFC433F5 for ; Sat, 21 May 2022 15:39:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245300AbiEUPjC (ORCPT ); Sat, 21 May 2022 11:39:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245151AbiEUPig (ORCPT ); Sat, 21 May 2022 11:38:36 -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 47A7D62CFB for ; Sat, 21 May 2022 08:38:35 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBX-0007XY-U5; Sat, 21 May 2022 17:38:31 +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 04/12] staging: r8188eu: use mgmt to set the addresses Date: Sat, 21 May 2022 17:38:16 +0200 Message-Id: <20220521153824.218196-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 Thu May 7 18:11: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 B0AE9C433F5 for ; Sat, 21 May 2022 15:39:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355424AbiEUPjH (ORCPT ); Sat, 21 May 2022 11:39:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245154AbiEUPih (ORCPT ); Sat, 21 May 2022 11:38:37 -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 1B9C362CDE for ; Sat, 21 May 2022 08:38:36 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBY-0007XY-Mp; Sat, 21 May 2022 17:38:32 +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 05/12] staging: r8188eu: use mgmt to set the sequence number Date: Sat, 21 May 2022 17:38:17 +0200 Message-Id: <20220521153824.218196-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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. Signed-off-by: Martin Kaiser Reported-by: kernel test robot --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/= r8188eu/core/rtw_mlme_ext.c index f08521cb1ff7..9a26b67d49bd 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5404,7 +5404,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 Thu May 7 18:11: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 C17C9C433EF for ; Sat, 21 May 2022 15:39:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355443AbiEUPjL (ORCPT ); Sat, 21 May 2022 11:39:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50268 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245169AbiEUPii (ORCPT ); Sat, 21 May 2022 11:38:38 -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 A3D2862CD2 for ; Sat, 21 May 2022 08:38:37 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBZ-0007XY-Dy; Sat, 21 May 2022 17:38:33 +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 06/12] staging: r8188eu: use mgmt to set the category Date: Sat, 21 May 2022 17:38:18 +0200 Message-Id: <20220521153824.218196-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 9a26b67d49bd..dd736416ddcf 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; @@ -5410,7 +5409,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 Thu May 7 18:11: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 A67ACC433EF for ; Sat, 21 May 2022 15:39:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355420AbiEUPjc (ORCPT ); Sat, 21 May 2022 11:39:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50278 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245207AbiEUPij (ORCPT ); Sat, 21 May 2022 11:38:39 -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 B42AF62CDE for ; Sat, 21 May 2022 08:38:38 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBa-0007XY-5j; Sat, 21 May 2022 17:38:34 +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 07/12] staging: r8188eu: use mgmt to set the action codes Date: Sat, 21 May 2022 17:38:19 +0200 Message-Id: <20220521153824.218196-8-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 dd736416ddcf..efffbbfd495e 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5411,10 +5411,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); @@ -5440,6 +5441,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; @@ -5455,6 +5458,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 Thu May 7 18:11: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 BBC83C433F5 for ; Sat, 21 May 2022 15:39:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355452AbiEUPjT (ORCPT ); Sat, 21 May 2022 11:39:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50280 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245192AbiEUPij (ORCPT ); Sat, 21 May 2022 11:38:39 -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 CA70D62CE1 for ; Sat, 21 May 2022 08:38:38 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBa-0007XY-TH; Sat, 21 May 2022 17:38:34 +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 08/12] staging: r8188eu: use mgmt to set the dialog token Date: Sat, 21 May 2022 17:38:20 +0200 Message-Id: <20220521153824.218196-9-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 efffbbfd495e..bd74a8460ab3 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5419,7 +5419,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 Thu May 7 18:11: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 1AA9CC433EF for ; Sat, 21 May 2022 15:39:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245247AbiEUPjp (ORCPT ); Sat, 21 May 2022 11:39:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50304 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245232AbiEUPil (ORCPT ); Sat, 21 May 2022 11:38:41 -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 25E7562CD2 for ; Sat, 21 May 2022 08:38:39 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBb-0007XY-Kt; Sat, 21 May 2022 17:38:35 +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 09/12] staging: r8188eu: use mgmt to set the timeout Date: Sat, 21 May 2022 17:38:21 +0200 Message-Id: <20220521153824.218196-10-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 bd74a8460ab3..d4dff434b19c 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; @@ -5426,9 +5425,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 Thu May 7 18:11: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 669CAC433F5 for ; Sat, 21 May 2022 15:39:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355460AbiEUPjk (ORCPT ); Sat, 21 May 2022 11:39:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245247AbiEUPil (ORCPT ); Sat, 21 May 2022 11:38:41 -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 A064F62CDE for ; Sat, 21 May 2022 08:38:40 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBc-0007XY-Cn; Sat, 21 May 2022 17:38:36 +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 10/12] staging: r8188eu: use ieee80211 to set addba capabilities Date: Sat, 21 May 2022 17:38:22 +0200 Message-Id: <20220521153824.218196-11-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 d4dff434b19c..089baa78a28a 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5381,6 +5381,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) @@ -5421,9 +5422,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 Thu May 7 18:11: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 96EA3C433EF for ; Sat, 21 May 2022 15:39:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355408AbiEUPjw (ORCPT ); Sat, 21 May 2022 11:39:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50328 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245265AbiEUPim (ORCPT ); Sat, 21 May 2022 11:38:42 -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 92C3E62CEF for ; Sat, 21 May 2022 08:38:41 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBd-0007XY-6H; Sat, 21 May 2022 17:38:37 +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 11/12] staging: r8188eu: use mgmt to set start sequence number Date: Sat, 21 May 2022 17:38:23 +0200 Message-Id: <20220521153824.218196-12-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 089baa78a28a..3e293ec59b7f 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5440,8 +5440,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 Thu May 7 18:11: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 93836C433F5 for ; Sat, 21 May 2022 15:39:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237501AbiEUPj6 (ORCPT ); Sat, 21 May 2022 11:39:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245276AbiEUPin (ORCPT ); Sat, 21 May 2022 11:38: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 B46D162CD2 for ; Sat, 21 May 2022 08:38:42 -0700 (PDT) Received: from dslb-188-096-138-194.188.096.pools.vodafone-ip.de ([188.96.138.194] 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 1nsRBe-0007XY-Ff; Sat, 21 May 2022 17:38:38 +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 12/12] staging: r8188eu: calculate the addba request length Date: Sat, 21 May 2022 17:38:24 +0200 Message-Id: <20220521153824.218196-13-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220521153824.218196-1-martin@kaiser.cx> References: <20220521153824.218196-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 3e293ec59b7f..e56135efa1f8 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5415,22 +5415,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) { @@ -5441,7 +5437,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