qcacmn: Alloc nbuf only after rx descriptor is allocated
Alloc nbuf only after rx descriptor is allocated Change-Id: Idc7fbb3e119761b877cfa4d625d1af84bf785ad2 CRs-Fixed: 3309036
此提交包含在:
@@ -419,6 +419,11 @@ __dp_rx_buffers_no_map_replenish(struct dp_soc *soc, uint32_t mac_id,
|
||||
for (count = 0; count < num_req_buffers; count++) {
|
||||
next = (*desc_list)->next;
|
||||
qdf_prefetch(next);
|
||||
rxdma_ring_entry = (struct dp_buffer_addr_info *)
|
||||
hal_srng_src_get_next(soc->hal_soc, rxdma_srng);
|
||||
if (!rxdma_ring_entry)
|
||||
break;
|
||||
|
||||
nbuf = dp_rx_nbuf_alloc(soc, rx_desc_pool);
|
||||
if (qdf_unlikely(!nbuf)) {
|
||||
DP_STATS_INC(dp_pdev, replenish.nbuf_alloc_fail, 1);
|
||||
@@ -427,12 +432,6 @@ __dp_rx_buffers_no_map_replenish(struct dp_soc *soc, uint32_t mac_id,
|
||||
|
||||
paddr = dp_rx_nbuf_sync_no_dsb(soc, nbuf,
|
||||
rx_desc_pool->buf_size);
|
||||
rxdma_ring_entry = (struct dp_buffer_addr_info *)
|
||||
hal_srng_src_get_next(soc->hal_soc, rxdma_srng);
|
||||
if (!rxdma_ring_entry)
|
||||
break;
|
||||
|
||||
qdf_assert_always(rxdma_ring_entry);
|
||||
|
||||
(*desc_list)->rx_desc.nbuf = nbuf;
|
||||
(*desc_list)->rx_desc.rx_buf_start = nbuf->data;
|
||||
|
新增問題並參考
封鎖使用者