ath10k: first qca6174 hw2.1 firmware released

Lapo Calamandrei calamandrei at gmail.com
Wed Aug 26 03:05:20 PDT 2015


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. Do you need any kind of
additional tests on this hw I can do?

Ciao
Lapo



More information about the ath10k mailing list