wifi: mt76: mt7996: fill txd by host driver
The hardware SDO has issue to fill txd for the moment, so fallback to
driver filling method.
Fixes: 98686cd216
(wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices)
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Родитель
230a167e09
Коммит
3b522caded
|
@ -1132,11 +1132,8 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
|
|||
return id;
|
||||
|
||||
pid = mt76_tx_status_skb_add(mdev, wcid, tx_info->skb);
|
||||
memset(txwi_ptr, 0, MT_TXD_SIZE);
|
||||
/* Transmit non qos data by 802.11 header and need to fill txd by host*/
|
||||
if (!is_8023 || pid >= MT_PACKET_ID_FIRST)
|
||||
mt7996_mac_write_txwi(dev, txwi_ptr, tx_info->skb, wcid, key,
|
||||
pid, qid, 0);
|
||||
mt7996_mac_write_txwi(dev, txwi_ptr, tx_info->skb, wcid, key,
|
||||
pid, qid, 0);
|
||||
|
||||
txp = (struct mt76_connac_txp_common *)(txwi + MT_TXD_SIZE);
|
||||
for (i = 0; i < nbuf; i++) {
|
||||
|
@ -1145,10 +1142,8 @@ int mt7996_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
|
|||
}
|
||||
txp->fw.nbuf = nbuf;
|
||||
|
||||
txp->fw.flags = cpu_to_le16(MT_CT_INFO_FROM_HOST);
|
||||
|
||||
if (!is_8023 || pid >= MT_PACKET_ID_FIRST)
|
||||
txp->fw.flags |= cpu_to_le16(MT_CT_INFO_APPLY_TXD);
|
||||
txp->fw.flags =
|
||||
cpu_to_le16(MT_CT_INFO_FROM_HOST | MT_CT_INFO_APPLY_TXD);
|
||||
|
||||
if (!key)
|
||||
txp->fw.flags |= cpu_to_le16(MT_CT_INFO_NONE_CIPHER_FRAME);
|
||||
|
|
Загрузка…
Ссылка в новой задаче