From abaf6736eb9f8a61bf0e35a54be67bb33c97b8d3 Mon Sep 17 00:00:00 2001 From: Houston Hoffman Date: Tue, 27 Sep 2016 22:50:40 -0700 Subject: [PATCH] qcacld-3.0: Reset skb->cb when forwarding intrabss packets skb->cb has different meaning for rx & tx packets. Reset the cb to avoid mis-interpretation of the data that leads to eratic misbehavior the least of which is failure to forward packets. Change-Id: I5d1396c70cd93d165aa825c4408ad46d082693f3 CRs-Fixed: 1065769 --- core/dp/txrx/ol_rx_fwd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/dp/txrx/ol_rx_fwd.c b/core/dp/txrx/ol_rx_fwd.c index 65af905ee306..31ca346de900 100644 --- a/core/dp/txrx/ol_rx_fwd.c +++ b/core/dp/txrx/ol_rx_fwd.c @@ -132,6 +132,10 @@ static inline void ol_rx_fwd_to_tx(struct ol_txrx_vdev_t *vdev, qdf_nbuf_t msdu) rx_desc)); } + /* Clear the msdu control block as it will be re-interpreted */ + qdf_mem_set(msdu->cb, sizeof(msdu->cb), 0); + /* update any cb field expected by OL_TX_SEND */ + msdu = OL_TX_SEND(vdev, msdu); if (msdu) {