瀏覽代碼

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
Houston Hoffman 8 年之前
父節點
當前提交
abaf6736eb
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      core/dp/txrx/ol_rx_fwd.c

+ 4 - 0
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) {