qcacmn: Use HAL_RX_BUF_RBM_SW3_RBM for defrag pkts
Currently defragmented packets use HAL_RX_BUF_RBM_SW1_RBM as the RBM value for the defragmented packets which are re-injected into REO. Thus, if REO encounters any error while handling these packets, they would end up in WBM2SW1 ring (via WBM), which is managed by the FW. The FW will eventually recycle these buffers back to RXDMA via its refill process. As a part of defragmentation, host does a 802.11 -> 802.3 header conversion. This is resulting in an address which is not 4 byte aligned. Hence, when RXDMA tries to use these addresses (after FW recycles them), it may lead to issues. Change the RBM value of the defragmented buffers which are re-injected. Now, if REO ends up throwing an error for these packets, they wll end up in WBM2SW3, which is managed by the host. The host can then drop these packets and replenish RXDMA with 4 byte aligned buffers (via FW). Change-Id: I9d9c25385978d5be855699feb28d292c6f3fffdd CRs-Fixed: 2572483
This commit is contained in:
@@ -36,8 +36,11 @@
|
||||
|
||||
#ifdef QCA_HOST2FW_RXBUF_RING
|
||||
#define DP_WBM2SW_RBM HAL_RX_BUF_RBM_SW1_BM
|
||||
/* RBM value used for re-injecting defragmented packets into REO */
|
||||
#define DP_DEFRAG_RBM HAL_RX_BUF_RBM_SW3_BM
|
||||
#else
|
||||
#define DP_WBM2SW_RBM HAL_RX_BUF_RBM_SW3_BM
|
||||
#define DP_DEFRAG_RBM DP_WBM2SW_RBM
|
||||
#endif /* QCA_HOST2FW_RXBUF_RING */
|
||||
|
||||
#define RX_BUFFER_RESERVATION 0
|
||||
|
مرجع در شماره جدید
Block a user