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
Этот коммит содержится в:

коммит произвёл
snandini

родитель
c8c27be649
Коммит
4900e1d357
@@ -395,8 +395,10 @@ htt_rx_in_ord_paddr_get(uint32_t *u32p)
|
|||||||
paddr = (qdf_dma_addr_t)HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p);
|
paddr = (qdf_dma_addr_t)HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p);
|
||||||
if (sizeof(qdf_dma_addr_t) > 4) {
|
if (sizeof(qdf_dma_addr_t) > 4) {
|
||||||
u32p++;
|
u32p++;
|
||||||
paddr |= ((qdf_dma_addr_t)
|
/* 32 bit architectures dont like <<32 */
|
||||||
(HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p) << 16) << 16);
|
paddr |= (((qdf_dma_addr_t)
|
||||||
|
HTT_RX_IN_ORD_PADDR_IND_PADDR_GET(*u32p))
|
||||||
|
<< 16 << 16);
|
||||||
}
|
}
|
||||||
paddr = htt_rx_paddr_unmark_high_bits(paddr);
|
paddr = htt_rx_paddr_unmark_high_bits(paddr);
|
||||||
|
|
||||||
|
Ссылка в новой задаче
Block a user