OSDN Git Service

staging: r8188eu: don't set pattrib->ra again
authorMartin Kaiser <martin@kaiser.cx>
Mon, 4 Jul 2022 20:16:51 +0000 (22:16 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Jul 2022 12:27:46 +0000 (14:27 +0200)
Do not set pattrib->ra again in ap2sta_data_frame. This function is
called by validate_recv_data_frame when the packet's ToDS==0 and
FromDS==1.

validate_recv_data_frame has already set pattrib->ra to addr1. This is in
line with the table in ieee80211.h.

ap2sta_data_frame sets pattrib->ra to pattrib->dst. For ToDS==0, FromDS==1,
dst is addr1, i.e. ap2sta_data_frame sets the same value again that was
already set by validate_recv_data_frame.

Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220704201654.195574-4-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_recv.c

index ea81501..3619b1a 100644 (file)
@@ -705,7 +705,6 @@ static int ap2sta_data_frame(
        } else if (check_fwstate(pmlmepriv, WIFI_MP_STATE) &&
                   check_fwstate(pmlmepriv, _FW_LINKED)) {
                memcpy(pattrib->src, GetAddr2Ptr(ptr), ETH_ALEN);
-               memcpy(pattrib->ra, pattrib->dst, ETH_ALEN);
                memcpy(pattrib->ta, pattrib->src, ETH_ALEN);
 
                memcpy(pattrib->bssid,  mybssid, ETH_ALEN);