summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHouston Hoffman <hhoffman@codeaurora.org>2016-09-27 22:50:40 -0700
committerqcabuildsw <qcabuildsw@localhost>2016-10-04 15:44:07 -0700
commitabaf6736eb9f8a61bf0e35a54be67bb33c97b8d3 (patch)
tree4836da8f4e19ff1c81e3b0d7cd001a970148da22
parent2359ca00da6e08598743615cb237f9754d35a2ba (diff)
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
-rw-r--r--core/dp/txrx/ol_rx_fwd.c4
1 files changed, 4 insertions, 0 deletions
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) {