ath10k bug in station mode with regard to TX-BEAMFORMER?

Sebastian Gottschall s.gottschall at dd-wrt.com
Wed Mar 1 17:43:13 PST 2017


Am 02.03.2017 um 01:56 schrieb Ben Greear:
> I have a user with an AP that advertises itself as a MU-BEAMFORMEE 
> (and not MU-BEAMFORMER).
> My station firmware on 9984 is crashing because it tries to set up 
> MU-MIMO tx logic as
> best as I can figure.
>
> Does the patch below look like a good idea?
>
> If so, I'll do it up official.  Unfortunately, I don't have a good way to
> test this locally, so this is just based on my vague understanding of 
> this
> feature...
i dont know if your patch makes sense, its just looking logic (i handle 
this with vht_capa in wpa supplicant right now)
i also know the crash from older firmwares. with more recent official 
firmwares it does not occur anymore. or lets i havent seen
this issue for a while
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c 
> b/drivers/net/wireless/ath/ath10k/mac.c
> index 219daaee..5aefc8a 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -5372,6 +5372,7 @@ static int ath10k_mac_set_txbf_conf(struct 
> ath10k_vif *arvif)
>  {
>         u32 value = 0;
>         struct ath10k *ar = arvif->ar;
> +       struct ieee80211_vif *vif = arvif->vif;
>         int nsts;
>         int sound_dim;
>
> @@ -5391,17 +5392,21 @@ static int ath10k_mac_set_txbf_conf(struct 
> ath10k_vif *arvif)
>         if (!value)
>                 return 0;
>
> -       if (ar->vht_cap_info & IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE)
> +       if ((ar->vht_cap_info & 
> IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE) &&
> +           (vif->type != NL80211_IFTYPE_STATION))
>                 value |= WMI_VDEV_PARAM_TXBF_SU_TX_BFER;
>
> -       if (ar->vht_cap_info & IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE)
> +       if ((ar->vht_cap_info & 
> IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE) &&
> +           (vif->type != NL80211_IFTYPE_STATION))
>                 value |= (WMI_VDEV_PARAM_TXBF_MU_TX_BFER |
>                           WMI_VDEV_PARAM_TXBF_SU_TX_BFER);
>
> -       if (ar->vht_cap_info & IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE)
> +       if ((ar->vht_cap_info & 
> IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE) &&
> +           (vif->type == NL80211_IFTYPE_STATION))
>                 value |= WMI_VDEV_PARAM_TXBF_SU_TX_BFEE;
>
> -       if (ar->vht_cap_info & IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE)
> +       if ((ar->vht_cap_info & 
> IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE) &&
> +               (vif->type == NL80211_IFTYPE_STATION))
>                 value |= (WMI_VDEV_PARAM_TXBF_MU_TX_BFEE |
>                           WMI_VDEV_PARAM_TXBF_SU_TX_BFEE);
>
>
> Thanks,
> Ben
>


-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Berliner Ring 101, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall at dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565




More information about the ath10k mailing list