From d021751ded5c11106947f2f7502bb1b0fd363019 Mon Sep 17 00:00:00 2001 From: "Poddar, Siddarth" Date: Tue, 19 Dec 2017 18:24:49 +0530 Subject: [PATCH] qcacld-3.0: Fix to get correct 64-bit htt rx address Fix is to get correct 64-bit htt rx in order address when ENABLE_DEBUG_ADDRESS_MARKING is disabled. Change-Id: I479ed4a2dd5cee3427f9a3714cda4ed50afa271a CRs-Fixed: 2161207 --- core/dp/htt/htt_rx.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/core/dp/htt/htt_rx.c b/core/dp/htt/htt_rx.c index 7a51a9f57d06..2c17865a79f0 100644 --- a/core/dp/htt/htt_rx.c +++ b/core/dp/htt/htt_rx.c @@ -449,10 +449,20 @@ htt_rx_in_ord_paddr_get(uint32_t *u32p) return paddr; } #else -static inline qdf_dma_addr_t +static qdf_dma_addr_t htt_rx_in_ord_paddr_get(uint32_t *u32p) { - return HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p); + qdf_dma_addr_t paddr = 0; + + paddr = (qdf_dma_addr_t)HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p); + if (sizeof(qdf_dma_addr_t) > 4) { + u32p++; + /* 32 bit architectures dont like <<32 */ + paddr |= (((qdf_dma_addr_t) + HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p)) + << 16 << 16); + } + return paddr; } #endif /* ENABLE_DEBUG_ADDRESS_MARKING */ #endif /* CONFIG_HL_SUPPORT*/