|
@@ -1645,6 +1645,7 @@ void dp_rx_defrag_cleanup(struct dp_txrx_peer *txrx_peer, unsigned int tid)
|
|
|
|
|
|
/*
|
|
|
* dp_rx_defrag_save_info_from_ring_desc(): Save info from REO ring descriptor
|
|
|
+ * @soc: Pointer to the SOC data structure
|
|
|
* @ring_desc: Pointer to the dst ring descriptor
|
|
|
* @txrx_peer: Pointer to the peer
|
|
|
* @tid: Transmit Identifier
|
|
@@ -1652,13 +1653,16 @@ void dp_rx_defrag_cleanup(struct dp_txrx_peer *txrx_peer, unsigned int tid)
|
|
|
* Returns: None
|
|
|
*/
|
|
|
static QDF_STATUS
|
|
|
-dp_rx_defrag_save_info_from_ring_desc(hal_ring_desc_t ring_desc,
|
|
|
+dp_rx_defrag_save_info_from_ring_desc(struct dp_soc *soc,
|
|
|
+ hal_ring_desc_t ring_desc,
|
|
|
struct dp_rx_desc *rx_desc,
|
|
|
struct dp_txrx_peer *txrx_peer,
|
|
|
unsigned int tid)
|
|
|
{
|
|
|
- void *dst_ring_desc = qdf_mem_malloc(
|
|
|
- sizeof(struct reo_destination_ring));
|
|
|
+ void *dst_ring_desc;
|
|
|
+
|
|
|
+ dst_ring_desc = qdf_mem_malloc(hal_srng_get_entrysize(soc->hal_soc,
|
|
|
+ REO_DST));
|
|
|
|
|
|
if (!dst_ring_desc) {
|
|
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
|
@@ -1668,7 +1672,7 @@ dp_rx_defrag_save_info_from_ring_desc(hal_ring_desc_t ring_desc,
|
|
|
}
|
|
|
|
|
|
qdf_mem_copy(dst_ring_desc, ring_desc,
|
|
|
- sizeof(struct reo_destination_ring));
|
|
|
+ hal_srng_get_entrysize(soc->hal_soc, REO_DST));
|
|
|
|
|
|
txrx_peer->rx_tid[tid].dst_ring_desc = dst_ring_desc;
|
|
|
txrx_peer->rx_tid[tid].head_frag_desc = rx_desc;
|
|
@@ -1877,8 +1881,9 @@ dp_rx_defrag_store_fragment(struct dp_soc *soc,
|
|
|
if ((fragno == 0) && (status == QDF_STATUS_SUCCESS) &&
|
|
|
(rx_reorder_array_elem->head == frag)) {
|
|
|
|
|
|
- status = dp_rx_defrag_save_info_from_ring_desc(ring_desc,
|
|
|
- rx_desc, txrx_peer, tid);
|
|
|
+ status = dp_rx_defrag_save_info_from_ring_desc(soc, ring_desc,
|
|
|
+ rx_desc,
|
|
|
+ txrx_peer, tid);
|
|
|
|
|
|
if (status != QDF_STATUS_SUCCESS) {
|
|
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|