[PATCH] Shift TX descriptor ring head after each packet

Eugene Krasnikov k.eugene.e at gmail.com
Thu Apr 25 08:39:12 EDT 2013


The TX ring head was always pointing to the first descriptor.
That's why driver could only send 1 frame.

Signed-off-by: Eugene Krasnikov <k.eugene.e at gmail.com>
---
 dxe.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dxe.c b/dxe.c
index daf25b2..c61bf92 100644
--- a/dxe.c
+++ b/dxe.c
@@ -361,6 +361,9 @@ int wcn36xx_dxe_tx(struct wcn36xx *wcn, struct sk_buff *skb, u8 broadcast)
 
 	wcn36xx_dbg_dump("DESC2 >>> ", (char*)cur_dxe_desc, sizeof(*cur_dxe_desc));
 	wcn36xx_dbg_dump("SKB   >>> ", (char*)cur_dxe_ctl->skb->data, cur_dxe_ctl->skb->len);
+
+	// Move the head of the ring to the next empty descriptor
+	wcn->dxe_tx_h_ch.head_blk_ctl = cur_dxe_ctl->next;
 	//indicate End Of Packet and generate interrupt on descriptor Done
 	wcn36xx_dxe_write_register(wcn,
 		WCN36XX_DXE_REG_CTL_TX_H,
-- 
1.7.11.3




More information about the wcn36xx mailing list