On Tue, 27 Oct 2026, Greg Kroah-Hartman wrote: > From: Joshua Rogers > > The local variable daddr is declared as u32 but assigned from dma_addr_t > fields (priv->rx_addr and priv->tx_addr), which are 64-bit on ARM64. > This silently truncates the upper 32 bits, causing upper_32_bits(daddr) > to always produce zero when programming the UART DMA descriptor high > address registers. Change the type to dma_addr_t to preserve the full > DMA address. > > Cc: Al Cooper > Cc: Jiri Slaby > Cc: stable > Cc: Broadcom internal kernel review list > Signed-off-by: Joshua Rogers > Signed-off-by: Greg Kroah-Hartman > --- > drivers/tty/serial/8250/8250_bcm7271.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/tty/serial/8250/8250_bcm7271.c b/drivers/tty/serial/8250/8250_bcm7271.c > index 974d9af146a1..4fdd261e55f5 100644 > --- a/drivers/tty/serial/8250/8250_bcm7271.c > +++ b/drivers/tty/serial/8250/8250_bcm7271.c > @@ -315,7 +315,7 @@ static int brcmuart_arbitration(struct brcmuart_priv *priv, bool acquire) > > static void brcmuart_init_dma_hardware(struct brcmuart_priv *priv) > { > - u32 daddr; > + dma_addr_t daddr; > u32 value; > int x; Reviewed-by: Ilpo Järvinen -- i.