ath10k: first qca6174 hw2.1 firmware released

Michal Kazior michal.kazior at tieto.com
Wed Aug 26 03:12:11 PDT 2015


On 26 August 2015 at 12:05, Lapo Calamandrei <calamandrei at gmail.com> wrote:
> 2015-08-26 7:01 GMT+02:00 Michal Kazior <michal.kazior at tieto.com>:
>> On 25 August 2015 at 16:04, Lapo Calamandrei <calamandrei at gmail.com> wrote:
>> [...]
>>> Yep, the previous crash was without your patch applied, the following
>>> is with the patch applied though.
>>>
>>> iw list output:
>> [...]
>>>     Band 2:
>>>         Capabilities: 0x19e3
>>>             RX LDPC
>>>             HT20/HT40
>>>             Static SM Power Save
>>>             RX HT20 SGI
>>>             RX HT40 SGI
>>>             TX STBC
>>>             RX STBC 1-stream
>>>             Max AMSDU length: 7935 bytes
>>>             DSSS/CCK HT40
>>>         Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
>>>         Minimum RX AMPDU time spacing: 8 usec (0x06)
>>>         HT TX/RX MCS rate indexes supported: 0-15
>>>         VHT Capabilities (0x339011b2):
>>>             Max MPDU length: 11454
>>>             Supported Channel Width: neither 160 nor 80+80
>>>             RX LDPC
>>>             short GI (80 MHz)
>>>             TX STBC
>>>             SU Beamformee
>>>             MU Beamformee
>> [...]
>>
>> Sorry, my bad. The diff I provided earlier wasn't correct (it was a
>> quick hack-idea I didn't test myself).
>>
>> The correct thing that should work is:
>>
>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>> @@ -6798,27 +6798,14 @@ static struct ieee80211_sta_vht_cap
>> ath10k_create_vht_cap(struct ath10k *ar)
>>         u32 val;
>>         int i;
>>
>> +       ar->vht_cap_info &= ~(IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE |
>> +                             IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE |
>> +                             IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE |
>> +                             IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE);
>> +
>>         vht_cap.vht_supported = 1;
>>         vht_cap.cap = ar->vht_cap_info;
>>
>> -       if (ar->vht_cap_info & (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE |
>> -                               IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE)) {
>> -               val = ar->num_rf_chains - 1;
>> -               val <<= IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT;
>> -               val &= IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK;
>> -
>> -               vht_cap.cap |= val;
>> -       }
>> -
>> -       if (ar->vht_cap_info & (IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE |
>> -                               IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE)) {
>> -               val = ar->num_rf_chains - 1;
>> -               val <<= IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT;
>> -               val &= IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MASK;
>> -
>> -               vht_cap.cap |= val;
>> -       }
>> -
>>         mcs_map = 0;
>>         for (i = 0; i < 8; i++) {
>>                 if (i < ar->num_rf_chains)
>>
>>
>> Michał
>
> The firmware crash is gone now, thanks.

Awesome. Thanks for testing!


> Do you need any kind of
> additional tests on this hw I can do?

No, thanks.


Michał



More information about the ath10k mailing list