summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrhan K AKYILDIZ <oka@codeaurora.org>2017-02-07 14:33:11 -0800
committerqcabuildsw <qcabuildsw@localhost>2017-02-07 21:28:13 -0800
commitada6deac81c3e1df08af02115e398e64a00bcdc1 (patch)
tree3cdf463accb236a6b286d1c9235180fa1257e390
parent6faae7ff8734b2964b74db06f4cda805d48179f1 (diff)
qcacld-3.0: Fix 32-bit crash on markings
The offending code did not get the order of operations right. It was: shift 16, cast 64,shift 16 and should have been: cast, shift 16, shift 16. CRs-Fixed: 2000844 Change-Id: I65cf4aaf0c20535070eb63b15d77b8c3c7dcb4e4
-rw-r--r--core/dp/htt/htt_rx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/dp/htt/htt_rx.c b/core/dp/htt/htt_rx.c
index 26db4b2273af..5a23681ba05b 100644
--- a/core/dp/htt/htt_rx.c
+++ b/core/dp/htt/htt_rx.c
@@ -394,8 +394,10 @@ htt_rx_in_ord_paddr_get(uint32_t *u32p)
paddr = (qdf_dma_addr_t)HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p);
if (sizeof(qdf_dma_addr_t) > 4) {
u32p++;
- paddr |= ((qdf_dma_addr_t)
- (HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p) << 16) << 16);
+ /* 32 bit architectures dont like <<32 */
+ paddr |= (((qdf_dma_addr_t)
+ HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p))
+ << 16 << 16);
}
paddr = htt_rx_paddr_unmark_high_bits(paddr);