qcacmn: Reset the inv bit in ring desc cookie for jumbo pkts
When a msdu scattered across multiple nbufs is received in REO2SW ring and the remaining nbufs are not yet available in the ring, loop in dp_rx_process is exited without resetting the invalid bit in the ring desc cookie. This will result in an incorrect assertion failure when the same entry is processed the next time. Fix is to reset the invalid bit in ring desc cookie when the loop is exited in the above msdu scattered scenario. Change-Id: Ie5cfa1fb8ea1db4b7a0a4837545ecbfdfbb8719a CRs-Fixed: 2916296
此提交包含在:
@@ -587,12 +587,30 @@ dp_rx_cookie_check_and_invalidate(hal_ring_desc_t ring_desc)
|
||||
HAL_RX_REO_BUF_COOKIE_INVALID_SET(ring_desc);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* dp_rx_cookie_reset_invalid_bit() - Reset the invalid bit of the cookie
|
||||
* field in ring descriptor
|
||||
* @ring_desc: ring descriptor
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static inline void
|
||||
dp_rx_cookie_reset_invalid_bit(hal_ring_desc_t ring_desc)
|
||||
{
|
||||
HAL_RX_REO_BUF_COOKIE_INVALID_RESET(ring_desc);
|
||||
}
|
||||
#else
|
||||
static inline QDF_STATUS
|
||||
dp_rx_cookie_check_and_invalidate(hal_ring_desc_t ring_desc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline void
|
||||
dp_rx_cookie_reset_invalid_bit(hal_ring_desc_t ring_desc)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* QCA_HOST_MODE_WIFI_DISABLED */
|
||||
|
新增問題並參考
封鎖使用者