<yhchu...@realtek.com> writes:

> From: Tzu-En Huang <tehu...@realtek.com>
>
> Enable MU-MIMO transmit beamformee support for chipset 8822b and 8822c.
>
> If the rtw88 is in station mode and associated with an AP, and the
> capabilities of both meet the requirement of beamforming, driver will
> run as a beamformee and the corresponding chip settings will be set.
>
> In addition, module parameter support_bf is added to enable or disable
> beamforming.

Why do you need a module parameter? Module paramaters are not meant to
be replacement for ini files, where you have a setting to enable or
disable each future. Module parameters should be added only for really
good reasons.

> +void rtw_bf_assoc(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
> +               struct ieee80211_bss_conf *bss_conf)
> +{
> +     struct ieee80211_hw *hw = rtwdev->hw;
> +     struct rtw_vif *rtwvif = (struct rtw_vif *)vif->drv_priv;
> +     struct rtw_bfee *bfee = &rtwvif->bfee;
> +     struct rtw_bf_info *bfinfo = &rtwdev->bf_info;
> +     struct rtw_chip_info *chip = rtwdev->chip;
> +     struct ieee80211_sta *sta;
> +     struct ieee80211_sta_vht_cap vht_cap;
> +     struct ieee80211_sta_vht_cap ic_vht_cap;
> +     u32 sound_dim;
> +     u8 *bssid, i;
> +
> +     if (chip->band & RTW_BAND_5G) {
> +             ic_vht_cap = hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap;
> +             if (!(ic_vht_cap.cap &
> +                   (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE |
> +                    IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE)))
> +                     goto exit;
> +     } else {
> +             goto exit;
> +     }
> +
> +     bssid = (u8 *)bss_conf->bssid;

This cast looks very fishy, you are again casting away const. Like I
said in patch 1, avoid casts as much as possible. They are fragile and
can easily create bugs if you are not careful.

-- 
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

Reply via email to