lkml.org 
[lkml]   [2022]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 01/12] staging: r8188eu: remove unnecessary category check
    Date
    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 <martin@kaiser.cx>
    ---
    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, unsigned char *raddr, unsigned ch
    pframe = rtw_set_fixed_ie(pframe, 1, &(category), &pattrib->pktlen);
    pframe = rtw_set_fixed_ie(pframe, 1, &(action), &pattrib->pktlen);

    - if (category == 3) {
    - switch (action) {
    - case 0: /* ADDBA req */
    - do {
    - pmlmeinfo->dialogToken++;
    - } while (pmlmeinfo->dialogToken == 0);
    - pframe = rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->dialogToken, &pattrib->pktlen);
    + switch (action) {
    + case 0: /* ADDBA req */
    + do {
    + pmlmeinfo->dialogToken++;
    + } while (pmlmeinfo->dialogToken == 0);
    + pframe = rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->dialogToken, &pattrib->pktlen);

    - BA_para_set = (0x1002 | ((status & 0xf) << 2)); /* immediate ack & 64 buffer size */
    - le_tmp = cpu_to_le16(BA_para_set);
    - pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    + BA_para_set = (0x1002 | ((status & 0xf) << 2)); /* immediate ack & 64 buffer size */
    + le_tmp = cpu_to_le16(BA_para_set);
    + pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);

    - BA_timeout_value = 5000;/* 5ms */
    - le_tmp = cpu_to_le16(BA_timeout_value);
    - pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    + BA_timeout_value = 5000;/* 5ms */
    + le_tmp = cpu_to_le16(BA_timeout_value);
    + pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);

    - psta = rtw_get_stainfo(pstapriv, raddr);
    - if (psta) {
    - start_seq = (psta->sta_xmitpriv.txseq_tid[status & 0x07] & 0xfff) + 1;
    + psta = rtw_get_stainfo(pstapriv, raddr);
    + if (psta) {
    + start_seq = (psta->sta_xmitpriv.txseq_tid[status & 0x07] & 0xfff) + 1;

    - psta->BA_starting_seqctrl[status & 0x07] = start_seq;
    + psta->BA_starting_seqctrl[status & 0x07] = start_seq;

    - BA_starting_seqctrl = start_seq << 4;
    - }
    - le_tmp = cpu_to_le16(BA_starting_seqctrl);
    - pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    - break;
    - case 1: /* ADDBA rsp */
    - pframe = rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->ADDBA_req.dialog_token, &pattrib->pktlen);
    - pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&status, &pattrib->pktlen);
    - BA_para_set = le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f;
    - BA_para_set |= 0x1000; /* 64 buffer size */
    -
    - if (pregpriv->ampdu_amsdu == 0)/* disabled */
    - BA_para_set = BA_para_set & ~BIT(0);
    - else if (pregpriv->ampdu_amsdu == 1)/* enabled */
    - BA_para_set = BA_para_set | BIT(0);
    - le_tmp = cpu_to_le16(BA_para_set);
    -
    - pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    - pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&pmlmeinfo->ADDBA_req.BA_timeout_value, &pattrib->pktlen);
    - break;
    - case 2:/* DELBA */
    - BA_para_set = (status & 0x1F) << 3;
    - le_tmp = cpu_to_le16(BA_para_set);
    - pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    -
    - reason_code = 37;/* Requested from peer STA as it does not want to use the mechanism */
    - le_tmp = cpu_to_le16(reason_code);
    - pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    - break;
    - default:
    - break;
    + BA_starting_seqctrl = start_seq << 4;
    }
    + le_tmp = cpu_to_le16(BA_starting_seqctrl);
    + pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    + break;
    + case 1: /* ADDBA rsp */
    + pframe = rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->ADDBA_req.dialog_token, &pattrib->pktlen);
    + pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&status, &pattrib->pktlen);
    + BA_para_set = le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f;
    + BA_para_set |= 0x1000; /* 64 buffer size */
    +
    + if (pregpriv->ampdu_amsdu == 0)/* disabled */
    + BA_para_set = BA_para_set & ~BIT(0);
    + else if (pregpriv->ampdu_amsdu == 1)/* enabled */
    + BA_para_set = BA_para_set | BIT(0);
    + le_tmp = cpu_to_le16(BA_para_set);
    +
    + pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    + pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&pmlmeinfo->ADDBA_req.BA_timeout_value, &pattrib->pktlen);
    + break;
    + case 2:/* DELBA */
    + BA_para_set = (status & 0x1F) << 3;
    + le_tmp = cpu_to_le16(BA_para_set);
    + pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    +
    + reason_code = 37;/* Requested from peer STA as it does not want to use the mechanism */
    + le_tmp = cpu_to_le16(reason_code);
    + pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
    + break;
    + default:
    + break;
    }

    pattrib->last_txcmdsz = pattrib->pktlen;
    --
    2.30.2
    \
     
     \ /
      Last update: 2022-05-24 11:01    [W:4.642 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site