From: Michael Straube <straube.linux@gmail.com>
To: Phillip Potter <phil@philpotter.co.uk>, Martin Kaiser <martin@kaiser.cx>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Larry Finger <Larry.Finger@lwfinger.net>,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/5] staging: r8188eu: use helper to check for broadcast address
Date: Thu, 21 Oct 2021 12:12:27 +0200 [thread overview]
Message-ID: <f5657f12-e20e-5cd9-e872-32e294741e88@gmail.com> (raw)
In-Reply-To: <YXCFFO//n9N6MZXv@equinox>
On 10/20/21 23:07, Phillip Potter wrote:
> On Wed, Oct 20, 2021 at 09:53:59PM +0200, Martin Kaiser wrote:
>> Use the is_broadcast_ether_addr function to check for a
>> broadcast address.
>>
>> Signed-off-by: Martin Kaiser <martin@kaiser.cx>
>> ---
>> drivers/staging/r8188eu/core/rtw_mlme_ext.c | 6 ++----
>> drivers/staging/r8188eu/hal/odm.c | 3 +--
>> 2 files changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
>> index 995a0248c26f..b0dfafe526f7 100644
>> --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c
>> +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
>> @@ -392,13 +392,12 @@ void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext)
>>
>> static void _mgt_dispatcher(struct adapter *padapter, struct mlme_handler *ptable, struct recv_frame *precv_frame)
>> {
>> - u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
>> u8 *pframe = precv_frame->rx_data;
>>
>> if (ptable->func) {
>> /* receive the frames that ra(a1) is my address or ra(a1) is bc address. */
>> if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) &&
>> - memcmp(GetAddr1Ptr(pframe), bc_addr, ETH_ALEN))
>> + !is_broadcast_ether_addr(GetAddr1Ptr(pframe)))
Hi Martin,
I'm not an expert regarding alignment. Is GetAddr1Ptr(pframe) always
__aligned(2) as required by is_broadcast_ether_addr?
>> return;
>> ptable->func(padapter, precv_frame);
>> }
>> @@ -409,7 +408,6 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame)
>> int index;
>> struct mlme_handler *ptable;
>> struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
>> - u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
>> u8 *pframe = precv_frame->rx_data;
>> struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(pframe));
>>
>> @@ -418,7 +416,7 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame)
>>
>> /* receive the frames that ra(a1) is my address or ra(a1) is bc address. */
>> if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) &&
>> - memcmp(GetAddr1Ptr(pframe), bc_addr, ETH_ALEN))
>> + !is_broadcast_ether_addr(GetAddr1Ptr(pframe)))
>> return;
Same here.
>>
>> ptable = mlme_sta_tbl;
>> diff --git a/drivers/staging/r8188eu/hal/odm.c b/drivers/staging/r8188eu/hal/odm.c
>> index 67cf8f7baba5..21f115194df8 100644
>> --- a/drivers/staging/r8188eu/hal/odm.c
>> +++ b/drivers/staging/r8188eu/hal/odm.c
>> @@ -829,7 +829,6 @@ void odm_RSSIMonitorCheck(struct odm_dm_struct *pDM_Odm)
>> u8 sta_cnt = 0;
>> u32 PWDB_rssi[NUM_STA] = {0};/* 0~15]:MACID, [16~31]:PWDB_rssi */
>> struct sta_info *psta;
>> - u8 bcast_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
>>
>> if (!(pDM_Odm->SupportAbility & ODM_BB_RSSI_MONITOR))
>> return;
>> @@ -841,7 +840,7 @@ void odm_RSSIMonitorCheck(struct odm_dm_struct *pDM_Odm)
>> psta = pDM_Odm->pODM_StaInfo[i];
>> if (IS_STA_VALID(psta) &&
>> (psta->state & WIFI_ASOC_STATE) &&
>> - memcmp(psta->hwaddr, bcast_addr, ETH_ALEN) &&
>> + !is_broadcast_ether_addr(psta->hwaddr) &&
Perhaps we should add __aligned(2) to the hwaddr variable in struct
sta_info to be safe?
u8 hwaddr[ETH_ALEN] __aligned(2);
>> memcmp(psta->hwaddr, myid(&Adapter->eeprompriv), ETH_ALEN)) {
>> if (psta->rssi_stat.UndecoratedSmoothedPWDB < tmpEntryMinPWDB)
>> tmpEntryMinPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB;
>> --
>> 2.20.1
>>
Other than that the patch looks good, thanks.
Michael
next prev parent reply other threads:[~2021-10-21 10:12 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-20 19:53 [PATCH 1/5] staging: r8188eu: remove unused dm_priv components Martin Kaiser
2021-10-20 19:53 ` [PATCH 2/5] staging: r8188eu: odm_rate_adapt Type is constant Martin Kaiser
2021-10-20 21:06 ` Phillip Potter
2021-10-21 10:18 ` Michael Straube
2021-10-20 19:53 ` [PATCH 3/5] staging: r8188eu: use helper to check for broadcast address Martin Kaiser
2021-10-20 21:07 ` Phillip Potter
2021-10-21 10:12 ` Michael Straube [this message]
2021-10-22 9:21 ` Martin Kaiser
2021-11-02 14:59 ` Dan Carpenter
2021-10-20 19:54 ` [PATCH 4/5] staging: r8188eu: use helper to set " Martin Kaiser
2021-10-20 21:08 ` Phillip Potter
2021-10-21 10:20 ` Michael Straube
2021-10-20 19:54 ` [PATCH 5/5] staging: r8188eu: remove unused defines and enums Martin Kaiser
2021-10-20 21:10 ` Phillip Potter
2021-10-21 10:21 ` Michael Straube
2021-10-20 21:05 ` [PATCH 1/5] staging: r8188eu: remove unused dm_priv components Phillip Potter
2021-10-21 10:17 ` Michael Straube
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f5657f12-e20e-5cd9-e872-32e294741e88@gmail.com \
--to=straube.linux@gmail.com \
--cc=Larry.Finger@lwfinger.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=martin@kaiser.cx \
--cc=phil@philpotter.co.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.