[2/2] staging: r8188eu: remove get_da
Commit Message
Replace the last get_da call with ieee80211_get_DA and remove the get_da
function.
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c | 3 ++-
drivers/staging/r8188eu/include/wifi.h | 22 -------------------
2 files changed, 2 insertions(+), 23 deletions(-)
Comments
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.
Thus wrote Joe Perches (joe@perches.com):
> 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.
@@ -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);
@@ -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;