I'm trying to add ability to ath10k to set an arbitrary tx-rate mask.

(ie, enable rates 6 64 vht 3 4 9, etc)

I know firmware will need to be modified...that is not the issue currently.

My problem is that I seem not be mis-understanding how the code to set
rates work.

I have this code:

static void ath10k_peer_assoc_h_rate_overrides(struct ath10k *ar,
                                               struct ieee80211_vif *vif,
                                               struct ieee80211_sta *sta,
                                               struct 
wmi_peer_assoc_complete_arg *arg)
{
        struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
        const struct ieee80211_supported_band *sband;
        const struct ieee80211_rate *rates;
        u32 ratemask;
        int i, j;
        int band = ar->hw->conf.chandef.chan->band;

        if (! test_bit(ATH10K_FW_FEATURE_WMI_10X_CT, ar->fw_features))
                return;

        lockdep_assert_held(&ar->conf_mutex);
        
        sband = ar->hw->wiphy->bands[band];
        ratemask = sta->supp_rates[band];
        rates = sband->bitrates;

        ath10k_warn(ar, "band: %d  ratemask: 0x%x\n", band, ratemask);


It is called when I run the command below:

iw wlan0 set bitrates legacy-5 6 12

But, rate-mask has all bits set...I would expect only bits corresponding
to rate 6 and 12 to be set.

[ 7487.627841] ath10k_pci 0000:05:00.0: band: 1  ratemask: 0xff


I'll go dig through the stack next..but if anyone has pointers, they would be 
welcome.

Thanks,
Ben


--
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to