[PATCH] fixup! net: designware_eqs: set upper 32bit address for DMA descriptors to support 64-bit addressing

Ahmad Fatoum <[email protected]>
Newsgroups org.infradead.lists.barebox
Message-ID <[email protected]>
net: designware_eqos: fix left shift count >= width of type

CI builds with -Werror, including -Werror=shift-count-overflow, which
fails for STM32MP enabled platform that use EQOS on a 32-bit platform.

As des1 will have always been programmed to zero on a 32-bit platform,
we can just suppress the warning with a cast.

Cc: zhengxiaojun <[email protected]>
Signed-off-by: Ahmad Fatoum <[email protected]>
---
 drivers/net/designware_eqos.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/designware_eqos.c b/drivers/net/designware_eqos.c
index 332dc7eb7366..4011b006dd70 100644
--- a/drivers/net/designware_eqos.c
+++ b/drivers/net/designware_eqos.c
@@ -955,8 +955,8 @@ void eqos_remove(struct device *dev)
 
 	mdiobus_unregister(&eqos->miibus);
 
-	dma = eqos->rx_descs[0].des1;
-	dma = (dma << 32) + eqos->rx_descs[0].des0;
+	dma = (u64)eqos->rx_descs[0].des1 << 32;
+	dma |= eqos->rx_descs[0].des0;
 	dma_free(phys_to_virt(dma));
 	dma_free_coherent(DMA_DEVICE_BROKEN,
 			  eqos->tx_descs, 0, EQOS_DESCRIPTORS_SIZE);
-- 
2.47.3
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.