* [PATCH v2] rtw88: Fix incorrect beamformee role setting
@ 2020-02-06 3:28 yhchuang
2020-02-07 2:11 ` Chris Chiu
0 siblings, 1 reply; 3+ messages in thread
From: yhchuang @ 2020-02-06 3:28 UTC (permalink / raw)
To: kvalo; +Cc: linux-wireless, briannorris
From: Tzu-En Huang <tehuang@realtek.com>
In associating and configuring beamformee, bfee->role is not
correctly set before rtw_chip_ops::config_bfee().
Fix it by setting it correctly.
Fixes: 0bd9557341b7 ("rtw88: Enable 802.11ac beamformee support")
Signed-off-by: Tzu-En Huang <tehuang@realtek.com>
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
---
v1 -> v2
* cannot put bfee->role = RTW_BFEE_NONE after out_unlock
put it enclosed by else
drivers/net/wireless/realtek/rtw88/bf.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtw88/bf.c b/drivers/net/wireless/realtek/rtw88/bf.c
index fda771d23f71..073c754e9e70 100644
--- a/drivers/net/wireless/realtek/rtw88/bf.c
+++ b/drivers/net/wireless/realtek/rtw88/bf.c
@@ -41,7 +41,6 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
struct ieee80211_sta_vht_cap *ic_vht_cap;
const u8 *bssid = bss_conf->bssid;
u32 sound_dim;
- u8 bfee_role = RTW_BFEE_NONE;
u8 i;
if (!(chip->band & RTW_BAND_5G))
@@ -67,7 +66,7 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
}
ether_addr_copy(bfee->mac_addr, bssid);
- bfee_role = RTW_BFEE_MU;
+ bfee->role = RTW_BFEE_MU;
bfee->p_aid = (bssid[5] << 1) | (bssid[4] >> 7);
bfee->aid = bss_conf->aid;
bfinfo->bfer_mu_cnt++;
@@ -85,7 +84,7 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
sound_dim >>= IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT;
ether_addr_copy(bfee->mac_addr, bssid);
- bfee_role = RTW_BFEE_SU;
+ bfee->role = RTW_BFEE_SU;
bfee->sound_dim = (u8)sound_dim;
bfee->g_id = 0;
bfee->p_aid = (bssid[5] << 1) | (bssid[4] >> 7);
@@ -99,10 +98,11 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
}
chip->ops->config_bfee(rtwdev, rtwvif, bfee, true);
+ } else {
+ bfee->role = RTW_BFEE_NONE;
}
out_unlock:
- bfee->role = bfee_role;
rcu_read_unlock();
}
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] rtw88: Fix incorrect beamformee role setting
2020-02-06 3:28 [PATCH v2] rtw88: Fix incorrect beamformee role setting yhchuang
@ 2020-02-07 2:11 ` Chris Chiu
2020-02-07 8:40 ` Tony Chuang
0 siblings, 1 reply; 3+ messages in thread
From: Chris Chiu @ 2020-02-07 2:11 UTC (permalink / raw)
To: Tony Chuang; +Cc: Kalle Valo, linux-wireless, Brian Norris
On Thu, Feb 6, 2020 at 11:28 AM <yhchuang@realtek.com> wrote:
>
> From: Tzu-En Huang <tehuang@realtek.com>
>
> In associating and configuring beamformee, bfee->role is not
> correctly set before rtw_chip_ops::config_bfee().
> Fix it by setting it correctly.
>
> Fixes: 0bd9557341b7 ("rtw88: Enable 802.11ac beamformee support")
> Signed-off-by: Tzu-En Huang <tehuang@realtek.com>
> Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
> ---
>
> v1 -> v2
> * cannot put bfee->role = RTW_BFEE_NONE after out_unlock
> put it enclosed by else
>
> drivers/net/wireless/realtek/rtw88/bf.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/bf.c b/drivers/net/wireless/realtek/rtw88/bf.c
> index fda771d23f71..073c754e9e70 100644
> --- a/drivers/net/wireless/realtek/rtw88/bf.c
> +++ b/drivers/net/wireless/realtek/rtw88/bf.c
> @@ -99,10 +98,11 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
> }
>
> chip->ops->config_bfee(rtwdev, rtwvif, bfee, true);
> + } else {
> + bfee->role = RTW_BFEE_NONE;
> }
>
Do we really need this `else` section? The bfee->role is only for
`config_bfee`, right? If we don't
need to config_bfee for RTW_BFEE_NONE, then we don't need the `else` part.
Chris
> out_unlock:
> - bfee->role = bfee_role;
> rcu_read_unlock();
> }
>
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH v2] rtw88: Fix incorrect beamformee role setting
2020-02-07 2:11 ` Chris Chiu
@ 2020-02-07 8:40 ` Tony Chuang
0 siblings, 0 replies; 3+ messages in thread
From: Tony Chuang @ 2020-02-07 8:40 UTC (permalink / raw)
To: Chris Chiu; +Cc: Kalle Valo, linux-wireless, Brian Norris
> On Thu, Feb 6, 2020 at 11:28 AM <yhchuang@realtek.com> wrote:
> >
> > From: Tzu-En Huang <tehuang@realtek.com>
> >
> > In associating and configuring beamformee, bfee->role is not
> > correctly set before rtw_chip_ops::config_bfee().
> > Fix it by setting it correctly.
> >
> > Fixes: 0bd9557341b7 ("rtw88: Enable 802.11ac beamformee support")
> > Signed-off-by: Tzu-En Huang <tehuang@realtek.com>
> > Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
> > ---
> >
> > v1 -> v2
> > * cannot put bfee->role = RTW_BFEE_NONE after out_unlock
> > put it enclosed by else
> >
> > drivers/net/wireless/realtek/rtw88/bf.c | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/wireless/realtek/rtw88/bf.c
> b/drivers/net/wireless/realtek/rtw88/bf.c
> > index fda771d23f71..073c754e9e70 100644
> > --- a/drivers/net/wireless/realtek/rtw88/bf.c
> > +++ b/drivers/net/wireless/realtek/rtw88/bf.c
> > @@ -99,10 +98,11 @@ void rtw_bf_assoc(struct rtw_dev *rtwdev, struct
> ieee80211_vif *vif,
> > }
> >
> > chip->ops->config_bfee(rtwdev, rtwvif, bfee, true);
> > + } else {
> > + bfee->role = RTW_BFEE_NONE;
> > }
> >
>
> Do we really need this `else` section? The bfee->role is only for
> `config_bfee`, right? If we don't
> need to config_bfee for RTW_BFEE_NONE, then we don't need the `else`
> part.
>
Right, it looks unnecessary to set it to NONE while disassoc will set it.
So I think we can just skip this "else" statement, will send a v3 later.
Thanks.
Yan-Hsuan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-02-07 8:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-06 3:28 [PATCH v2] rtw88: Fix incorrect beamformee role setting yhchuang
2020-02-07 2:11 ` Chris Chiu
2020-02-07 8:40 ` Tony Chuang
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.