• Vasanthakumar Thiagarajan's avatar
    ath10k: fix peerid configuration in htt tx desc for htt version < 3.4 · d39de991
    Vasanthakumar Thiagarajan authored
    Of a word in struct htt_data_tx_desc htt version >= 3.4 firmware uses
    LSB 16-bit for frequency configuration which is used for offchannel tx
    and MSB 16-bit is for peerid. But other firmwares using version 2.X
    (10.1, 10.2.2, 10.2.4 and 10.4) are using 32-bit for peerid in htt tx
    desc. So far no issue is found with the existing code setting peerid and
    freq for HTT version 2.X, this could be mainly because of 0 as frequecy
    (home channel) is being always passed with those firmwares. There may be
    issues when non-zero freq is passed with firmware using < 3.4 htt version.
    To be safe use target_version_major and target_version_minor along with
    htt-op-version before configuring peer id and freq in htt tx desc. This
    patch extends ath10k_mac_tx_frm_has_freq() to check for htt_op_version_tlv
    and uses the helper while setting peerid in htt_tx_desc.
    
    Fixes: 8d6d3624 ("ath10k: fix offchan reliability")
    Signed-off-by: default avatarVasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
    Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
    d39de991
htt_tx.c 20.6 KB