|
@@ -1232,7 +1232,7 @@ static int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb)
|
|
|
|
|
|
head_td = priv->apCurrTD[dma_idx];
|
|
|
|
|
|
- head_td->m_td1TD1.byTCR = (TCR_EDP|TCR_STP);
|
|
|
+ head_td->m_td1TD1.byTCR = 0;
|
|
|
|
|
|
head_td->pTDInfo->skb = skb;
|
|
|
|
|
@@ -1257,6 +1257,11 @@ static int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb)
|
|
|
|
|
|
priv->bPWBitOn = false;
|
|
|
|
|
|
+ /* Set TSR1 & ReqCount in TxDescHead */
|
|
|
+ head_td->m_td1TD1.byTCR |= (TCR_STP | TCR_EDP | EDMSDU);
|
|
|
+ head_td->m_td1TD1.wReqCount =
|
|
|
+ cpu_to_le16((u16)head_td->pTDInfo->dwReqCount);
|
|
|
+
|
|
|
head_td->pTDInfo->byFlags = TD_FLAGS_NETIF_SKB;
|
|
|
|
|
|
if (dma_idx == TYPE_AC0DMA)
|
|
@@ -1500,9 +1505,11 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
|
|
|
if (conf->enable_beacon) {
|
|
|
vnt_beacon_enable(priv, vif, conf);
|
|
|
|
|
|
- MACvRegBitsOn(priv, MAC_REG_TCR, TCR_AUTOBCNTX);
|
|
|
+ MACvRegBitsOn(priv->PortOffset, MAC_REG_TCR,
|
|
|
+ TCR_AUTOBCNTX);
|
|
|
} else {
|
|
|
- MACvRegBitsOff(priv, MAC_REG_TCR, TCR_AUTOBCNTX);
|
|
|
+ MACvRegBitsOff(priv->PortOffset, MAC_REG_TCR,
|
|
|
+ TCR_AUTOBCNTX);
|
|
|
}
|
|
|
}
|
|
|
|