ath10k bug in station mode with regard to TX-BEAMFORMER?
Ben Greear
greearb at candelatech.com
Thu Mar 2 13:26:06 PST 2017
On 03/01/2017 05:43 PM, Sebastian Gottschall wrote:
> 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
Did you patch supplicant? If so, can you point me to the change(s) you made?
Thanks,
Ben
>>
>> 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
>>
>
>
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list