diff options
| author | Houston Hoffman <hhoffman@codeaurora.org> | 2016-09-27 22:50:40 -0700 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2016-10-04 15:44:07 -0700 |
| commit | abaf6736eb9f8a61bf0e35a54be67bb33c97b8d3 (patch) | |
| tree | 4836da8f4e19ff1c81e3b0d7cd001a970148da22 | |
| parent | 2359ca00da6e08598743615cb237f9754d35a2ba (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.c | 4 |
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) { |
