2022-10-29 17:25:14

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 0/2] staging: r8188eu: remove the last get_da calls

Replace the remaining two get_da calls with ieee80211_get_DA and
remove get_da.

Martin Kaiser (2):
staging: r8188eu: replace get_da with ieee80211_get_DA
staging: r8188eu: remove get_da

drivers/staging/r8188eu/core/rtw_mlme_ext.c | 3 ++-
drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c | 3 ++-
drivers/staging/r8188eu/include/wifi.h | 22 -------------------
3 files changed, 4 insertions(+), 24 deletions(-)

--
2.30.2



2022-10-29 17:25:16

by Martin Kaiser

[permalink] [raw]
Subject: [PATCH 2/2] staging: r8188eu: remove get_da

Replace the last get_da call with ieee80211_get_DA and remove the get_da
function.

Signed-off-by: Martin Kaiser <[email protected]>
---
drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c | 3 ++-
drivers/staging/r8188eu/include/wifi.h | 22 -------------------
2 files changed, 2 insertions(+), 23 deletions(-)

diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c b/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c
index dff0cba751df..f01ae71bcdb1 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c
@@ -108,6 +108,7 @@ void update_recvframe_attrib_88e(struct recv_frame *precvframe, struct recv_stat
*/
void update_recvframe_phyinfo_88e(struct recv_frame *precvframe, struct phy_stat *pphy_status)
{
+ struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)precvframe->rx_data;
struct adapter *padapter = precvframe->adapter;
struct rx_pkt_attrib *pattrib = &precvframe->attrib;
struct hal_data_8188e *pHalData = &padapter->haldata;
@@ -125,7 +126,7 @@ void update_recvframe_phyinfo_88e(struct recv_frame *precvframe, struct phy_stat
get_bssid(&padapter->mlmepriv), ETH_ALEN));

pkt_info.bPacketToSelf = pkt_info.bPacketMatchBSSID &&
- (!memcmp(get_da(wlanhdr),
+ (!memcmp(ieee80211_get_DA(hdr),
myid(&padapter->eeprompriv), ETH_ALEN));

pkt_info.bPacketBeacon = pkt_info.bPacketMatchBSSID && ieee80211_is_beacon(fc);
diff --git a/drivers/staging/r8188eu/include/wifi.h b/drivers/staging/r8188eu/include/wifi.h
index 6b50089cea29..92a584a8b6c0 100644
--- a/drivers/staging/r8188eu/include/wifi.h
+++ b/drivers/staging/r8188eu/include/wifi.h
@@ -217,28 +217,6 @@ enum WIFI_REG_DOMAIN {

#define GetAddr4Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 24))

-static inline unsigned char *get_da(unsigned char *pframe)
-{
- unsigned char *da;
- unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
-
- switch (to_fr_ds) {
- case 0x00: /* ToDs=0, FromDs=0 */
- da = GetAddr1Ptr(pframe);
- break;
- case 0x01: /* ToDs=0, FromDs=1 */
- da = GetAddr1Ptr(pframe);
- break;
- case 0x02: /* ToDs=1, FromDs=0 */
- da = GetAddr3Ptr(pframe);
- break;
- default: /* ToDs=1, FromDs=1 */
- da = GetAddr3Ptr(pframe);
- break;
- }
- return da;
-}
-
static inline unsigned char *get_sa(unsigned char *pframe)
{
unsigned char *sa;
--
2.30.2


2022-10-30 11:42:07

by Philipp Hortmann

[permalink] [raw]
Subject: Re: [PATCH 0/2] staging: r8188eu: remove the last get_da calls

On 10/29/22 19:10, Martin Kaiser wrote:
> Replace the remaining two get_da calls with ieee80211_get_DA and
> remove get_da.
>
> Martin Kaiser (2):
> staging: r8188eu: replace get_da with ieee80211_get_DA
> staging: r8188eu: remove get_da
>
> drivers/staging/r8188eu/core/rtw_mlme_ext.c | 3 ++-
> drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c | 3 ++-
> drivers/staging/r8188eu/include/wifi.h | 22 -------------------
> 3 files changed, 4 insertions(+), 24 deletions(-)
>


Tested-by: Philipp Hortmann <[email protected]> # Edimax N150

2022-10-30 15:13:52

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH 2/2] staging: r8188eu: remove get_da

On Sat, 2022-10-29 at 19:10 +0200, Martin Kaiser wrote:
> Replace the last get_da call with ieee80211_get_DA and remove the get_da
> function.
[]
> diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c b/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c
[]
> @@ -125,7 +126,7 @@ void update_recvframe_phyinfo_88e(struct recv_frame *precvframe, struct phy_stat
> get_bssid(&padapter->mlmepriv), ETH_ALEN));
>
> pkt_info.bPacketToSelf = pkt_info.bPacketMatchBSSID &&
> - (!memcmp(get_da(wlanhdr),
> + (!memcmp(ieee80211_get_DA(hdr),
> myid(&padapter->eeprompriv), ETH_ALEN));

trivia:

As both of the addresses returned are minimum __aligned(2),
these memcmp uses could be ether_addr_equal

Look for ETH_ALEN

$ git grep ETH_ALEN drivers/staging/r8188eu/

Perhaps see if the memcpy/memcmp uses with ETH_ALEN could be
converted to ether_addr_copy/ether_addr_equal or any of the
other is_<foo>_ether_addr calls.


2022-10-30 18:57:33

by Martin Kaiser

[permalink] [raw]
Subject: Re: [PATCH 2/2] staging: r8188eu: remove get_da

Thus wrote Joe Perches ([email protected]):

> On Sat, 2022-10-29 at 19:10 +0200, Martin Kaiser wrote:
> > Replace the last get_da call with ieee80211_get_DA and remove the get_da
> > function.
> []
> > diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c b/drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c
> []
> > @@ -125,7 +126,7 @@ void update_recvframe_phyinfo_88e(struct recv_frame *precvframe, struct phy_stat
> > get_bssid(&padapter->mlmepriv), ETH_ALEN));

> > pkt_info.bPacketToSelf = pkt_info.bPacketMatchBSSID &&
> > - (!memcmp(get_da(wlanhdr),
> > + (!memcmp(ieee80211_get_DA(hdr),
> > myid(&padapter->eeprompriv), ETH_ALEN));

> trivia:

> As both of the addresses returned are minimum __aligned(2),
> these memcmp uses could be ether_addr_equal

Thanks, I'll fix this in a separate patch and keep this pattern in mind
for other parts of the code.

> Look for ETH_ALEN

> $ git grep ETH_ALEN drivers/staging/r8188eu/

> Perhaps see if the memcpy/memcmp uses with ETH_ALEN could be
> converted to ether_addr_copy/ether_addr_equal or any of the
> other is_<foo>_ether_addr calls.