qcacmn: tx completion handler with invalid release source

added stats counter to check invalid release reason other than
FW and TQM in tx completion path.
added assert to make sure host is not releasing descriptors with NULL
address.

Change-Id: I3a30bd0f0c3954ed6435489d9b21f16201d1b840
This commit is contained in:
Ruben Columbus
2019-09-17 02:31:37 -07:00
gecommit door nshrivas
bovenliggende 54a3931f9f
commit da4d1b37e3
5 gewijzigde bestanden met toevoegingen van 88 en 1 verwijderingen

Bestand weergeven

@@ -1109,4 +1109,22 @@ void hal_tx_set_tidmap_prty(hal_soc_handle_t hal_soc_hdl, uint8_t val)
hal_soc->ops->hal_tx_set_tidmap_prty(hal_soc, val);
}
/**
* hal_get_wbm_internal_error() - wbm internal error
* @hal_desc: completion ring descriptor pointer
*
* This function will return the type of pointer - buffer or descriptor
*
* Return: buffer type
*/
static inline uint8_t hal_get_wbm_internal_error(void *hal_desc)
{
uint32_t comp_desc =
*(uint32_t *)(((uint8_t *)hal_desc) +
WBM_RELEASE_RING_2_WBM_INTERNAL_ERROR_OFFSET);
return (comp_desc & WBM_RELEASE_RING_2_WBM_INTERNAL_ERROR_MASK) >>
WBM_RELEASE_RING_2_WBM_INTERNAL_ERROR_LSB;
}
#endif /* HAL_TX_H */