diff options
| author | Orhan K AKYILDIZ <oka@codeaurora.org> | 2017-02-07 14:33:11 -0800 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2017-02-07 21:28:13 -0800 |
| commit | ada6deac81c3e1df08af02115e398e64a00bcdc1 (patch) | |
| tree | 3cdf463accb236a6b286d1c9235180fa1257e390 | |
| parent | 6faae7ff8734b2964b74db06f4cda805d48179f1 (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.c | 6 |
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); |
