qcacld-3.0: Store tx desc id in sk_buff instead of skb head
qcacld-2.0 to qcacld-3.0 propagation In MDM ap+ap case, sometimes kernel issues two skb but has same mem address of skb head and driver tx desc id is stored in skb head, so the first id will be overwrote by the second one. Will hit crash when handle the tx_desc. The solution is storing tx desc id in sk_buff to avoid the case that two skb has same tx desc id. Change-Id: I2186a06ad3ec929683292c4c052904a18427cc64 CRs-Fixed: 951208
This commit is contained in:
@@ -39,12 +39,19 @@
|
||||
#include <cdp_txrx_cmn.h> /* ol_txrx_pdev_handle */
|
||||
#include <ol_defines.h>
|
||||
|
||||
#ifdef CONFIG_HL_SUPPORT
|
||||
static inline uint16_t *ol_tx_msdu_id_storage(qdf_nbuf_t msdu)
|
||||
{
|
||||
return QDF_NBUF_CB_TX_DESC_ID(msdu);
|
||||
|
||||
}
|
||||
#else
|
||||
static inline uint16_t *ol_tx_msdu_id_storage(qdf_nbuf_t msdu)
|
||||
{
|
||||
qdf_assert(qdf_nbuf_headroom(msdu) >= (sizeof(uint16_t) * 2 - 1));
|
||||
return (uint16_t *) (((qdf_size_t) (qdf_nbuf_head(msdu) + 1)) & ~0x1);
|
||||
}
|
||||
|
||||
#endif
|
||||
/**
|
||||
* @brief Tx MSDU download completion for a LL system
|
||||
* @details
|
||||
|
Reference in New Issue
Block a user