qcacmn: Tx desc alloc: remove default wakeup action
When the status is FLOW_POOL_ACTIVE_PAUSED, all queues are expected to be paused. Still some on the fly packet can make it to the driver. In such a case, the function dp_tx_desc_alloc takes a default action of WLAN_WAKE_NON_PRIORITY_QUEUE. This is incorrect, since it will wake all non priority queues, when they should be paused. Make default action as WLAN_NETIF_ACTION_TYPE_NONE. If this is the action to be taken, donot call the pause_cb from dp_tx_desc_alloc. Rate limit log levels in case dp_tx_desc_alloc fails. Change-Id: I1ef3018e90576d2c3aaa0d10d56e9b155681271b CRs-Fixed: 2421813
This commit is contained in:
@@ -217,7 +217,7 @@ dp_tx_desc_alloc(struct dp_soc *soc, uint8_t desc_pool_id)
|
||||
struct dp_tx_desc_s *tx_desc = NULL;
|
||||
struct dp_tx_desc_pool_s *pool = &soc->tx_desc[desc_pool_id];
|
||||
bool is_pause = false;
|
||||
enum netif_action_type act = WLAN_WAKE_NON_PRIORITY_QUEUE;
|
||||
enum netif_action_type act = WLAN_NETIF_ACTION_TYPE_NONE;
|
||||
enum dp_fl_ctrl_threshold level = DP_TH_BE_BK;
|
||||
|
||||
if (qdf_likely(pool)) {
|
||||
@@ -255,18 +255,22 @@ dp_tx_desc_alloc(struct dp_soc *soc, uint8_t desc_pool_id)
|
||||
level = DP_TH_HI;
|
||||
pool->status = FLOW_POOL_ACTIVE_PAUSED;
|
||||
break;
|
||||
case FLOW_POOL_ACTIVE_PAUSED:
|
||||
act = WLAN_NETIF_ACTION_TYPE_NONE;
|
||||
break;
|
||||
default:
|
||||
QDF_TRACE(QDF_MODULE_ID_DP,
|
||||
QDF_TRACE_LEVEL_ERROR,
|
||||
"%s %d pool is %d status!",
|
||||
__func__, __LINE__,
|
||||
dp_err_rl("pool status is %d!",
|
||||
pool->status);
|
||||
break;
|
||||
}
|
||||
pool->latest_pause_time[level] =
|
||||
qdf_get_system_timestamp();
|
||||
soc->pause_cb(desc_pool_id,
|
||||
act, WLAN_DATA_FLOW_CONTROL);
|
||||
|
||||
if (act != WLAN_NETIF_ACTION_TYPE_NONE) {
|
||||
pool->latest_pause_time[level] =
|
||||
qdf_get_system_timestamp();
|
||||
soc->pause_cb(desc_pool_id,
|
||||
act,
|
||||
WLAN_DATA_FLOW_CONTROL);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
pool->pkt_drop_no_desc++;
|
||||
|
Reference in New Issue
Block a user