qcacmn: Save paddr of the prev buffer attached to rx descriptor
One instance of an issue was observed, where there's an SMMU fault due to an access to paddr, which has been unmapped, but is shown as active/mapped from the rx_desc data. Save the paddr of the previous buffer attach to the rx descriptor to aid in debug. This is to confirm if the paddr has got updated after the last replenish. Change-Id: Ib8318883b273be8b722cefec16d18b45daf679a7 CRs-Fixed: 3642902
This commit is contained in:
@@ -131,6 +131,7 @@ struct dp_rx_desc_dbg_info {
|
||||
* @magic:
|
||||
* @nbuf_data_addr: VA of nbuf data posted
|
||||
* @dbg_info:
|
||||
* @prev_paddr_buf_start: paddr of the prev nbuf attach to rx_desc
|
||||
* @in_use: rx_desc is in use
|
||||
* @unmapped: used to mark rx_desc an unmapped if the corresponding
|
||||
* nbuf is already unmapped
|
||||
@@ -152,6 +153,7 @@ struct dp_rx_desc {
|
||||
uint32_t magic;
|
||||
uint8_t *nbuf_data_addr;
|
||||
struct dp_rx_desc_dbg_info *dbg_info;
|
||||
qdf_dma_addr_t prev_paddr_buf_start;
|
||||
#endif
|
||||
uint8_t in_use:1,
|
||||
unmapped:1,
|
||||
@@ -1950,6 +1952,7 @@ void dp_rx_desc_prep(struct dp_rx_desc *rx_desc,
|
||||
rx_desc->unmapped = 0;
|
||||
rx_desc->nbuf_data_addr = (uint8_t *)qdf_nbuf_data(rx_desc->nbuf);
|
||||
dp_rx_set_reuse_nbuf(rx_desc, rx_desc->nbuf);
|
||||
rx_desc->prev_paddr_buf_start = rx_desc->paddr_buf_start;
|
||||
rx_desc->paddr_buf_start = nbuf_frag_info_t->paddr;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user