Revert "qcacmn: Flush ME desc while mcast enhancement disable"
This reverts Change-Id: Ieeaab082d09135b4c803d68041ebf9b4bf7bb144
Change-Id: I4d4b07ae357cffea24c2975445120df79cbddc0d
CRs-fixed: 2444484
diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c
index 1b28d50..4d17909 100644
--- a/dp/wifi3.0/dp_tx.c
+++ b/dp/wifi3.0/dp_tx.c
@@ -208,7 +208,7 @@
*
* Return:
*/
-void
+static void
dp_tx_desc_release(struct dp_tx_desc_s *tx_desc, uint8_t desc_pool_id)
{
struct dp_pdev *pdev = tx_desc->pdev;
@@ -2510,7 +2510,8 @@
*
* Return: none
*/
-void dp_tx_comp_free_buf(struct dp_soc *soc, struct dp_tx_desc_s *desc)
+static inline void dp_tx_comp_free_buf(struct dp_soc *soc,
+ struct dp_tx_desc_s *desc)
{
struct dp_vdev *vdev = desc->vdev;
qdf_nbuf_t nbuf = desc->nbuf;
diff --git a/dp/wifi3.0/dp_tx.h b/dp/wifi3.0/dp_tx.h
index 4b63d24..79548b4 100644
--- a/dp/wifi3.0/dp_tx.h
+++ b/dp/wifi3.0/dp_tx.h
@@ -243,8 +243,4 @@
return;
}
/* TODO TX_FEATURE_NOT_YET */
-
-void dp_tx_comp_free_buf(struct dp_soc *soc, struct dp_tx_desc_s *desc);
-void dp_tx_desc_release(struct dp_tx_desc_s *tx_desc, uint8_t desc_pool_id);
-
#endif
diff --git a/dp/wifi3.0/dp_tx_me.c b/dp/wifi3.0/dp_tx_me.c
index 43e7a69..8637ece 100644
--- a/dp/wifi3.0/dp_tx_me.c
+++ b/dp/wifi3.0/dp_tx_me.c
@@ -140,10 +140,10 @@
qdf_spin_lock_bh(&pdev->tx_mutex);
}
if (pdev->me_buf.buf_in_use > 0) {
- QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO,
- "Tx-comp pending for %d "
- "ME frames after waiting %ds!!",
- pdev->me_buf.buf_in_use, wait_time);
+ QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
+ "Tx-comp pending for %d "
+ "ME frames after waiting %ds!!",
+ pdev->me_buf.buf_in_use, wait_time);
qdf_assert_always(0);
}
@@ -157,49 +157,6 @@
}
}
-/* dp_tx_me_desc_flush() - release me resources associated to tx_desc
- * @pdev: DP_PDEV handle
- *
- * This function will free all outstanding ME buffer
- * for which either free during
- * completion didn't happened or completion is not
- * received.
- */
-void dp_tx_me_desc_flush(struct dp_pdev *pdev)
-{
- uint8_t i, num_pool;
- uint32_t j;
- uint32_t num_desc, page_id, offset;
- uint16_t num_desc_per_page;
- struct dp_soc *soc = pdev->soc;
- struct dp_tx_desc_s *tx_desc = NULL;
- struct dp_tx_desc_pool_s *tx_desc_pool = NULL;
-
- num_desc = wlan_cfg_get_num_tx_desc(soc->wlan_cfg_ctx);
- num_pool = wlan_cfg_get_num_tx_desc_pool(soc->wlan_cfg_ctx);
-
- for (i = 0; i < num_pool; i++) {
- tx_desc_pool = &soc->tx_desc[i];
- if (!tx_desc_pool || !tx_desc_pool->desc_pages.cacheable_pages)
- continue;
-
- num_desc_per_page =
- tx_desc_pool->desc_pages.num_element_per_page;
- for (j = 0; j < num_desc; j++) {
- page_id = j / num_desc_per_page;
- offset = j % num_desc_per_page;
- tx_desc = dp_tx_desc_find(soc, i, page_id, offset);
-
- if (tx_desc && (tx_desc->pdev == pdev) &&
- (tx_desc->flags & DP_TX_DESC_FLAG_ME) &&
- (tx_desc->flags & DP_TX_DESC_FLAG_ALLOCATED)) {
- dp_tx_comp_free_buf(soc, tx_desc);
- dp_tx_desc_release(tx_desc, i);
- }
- }
- }
-}
-
/**
* dp_tx_me_free_descriptor():free ME descriptor
* @pdev_handle:DP_PDEV handle
@@ -212,7 +169,6 @@
struct dp_pdev *pdev = (struct dp_pdev *) pdev_handle;
qdf_atomic_dec(&pdev->mc_num_vap_attached);
if (atomic_read(&pdev->mc_num_vap_attached) == 0) {
- dp_tx_me_desc_flush(pdev);
dp_tx_me_exit(pdev);
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO,
"Disable MCAST_TO_UCAST");