qcacmn: Ratelimit the tso descriptor alloc failure

In cases were all the tso tx descriptors are outstanding,
the alloc for any subsequent tso packet will fail.
This failure to get a tso tx descriptor floods the
console with failure logs.

Ratelimit the tso descriptor allocation failure and
increment the alloc failure in stats to get the exact
number of times the allocation failed.

CRs-Fixed: 2572580
Change-Id: I789788b917421be99df5435ad858d715ef0f5c8e
这个提交包含在:
Rakesh Pillai
2019-11-25 17:42:19 +05:30
提交者 nshrivas
父节点 27f9726c24
当前提交 74368919c5
修改 2 个文件,包含 7 行新增2 行删除

查看文件

@@ -585,8 +585,10 @@ static QDF_STATUS dp_tx_prepare_tso(struct dp_vdev *vdev,
tso_info->tso_seg_list = tso_seg;
num_seg--;
} else {
DP_TRACE(ERROR, "%s: Failed to alloc tso seg desc",
__func__);
dp_err_rl("Failed to alloc tso seg desc");
DP_STATS_INC_PKT(vdev->pdev,
tso_stats.tso_no_mem_dropped, 1,
qdf_nbuf_len(msdu));
dp_tx_free_remaining_tso_desc(soc, msdu_info, false);
return QDF_STATUS_E_NOMEM;