Hi Arnd, On Thu, Feb 27, 2025 at 8:21 AM Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > > From: Arnd Bergmann <arnd@xxxxxxxx> > > The open-coded upper_32_bits() produces a warning when building > for 32-bit targets: > > drivers/bluetooth/btintel_pcie.c: In function 'btintel_pcie_setup_dbgc': > drivers/bluetooth/btintel_pcie.c:142:72: error: right shift count >= width of type [-Werror=shift-count-overflow] > 142 | db_frag.bufs[i].buf_addr_msb = (u32)((buf->data_p_addr >> 32) & 0xffffffff); > | ^~ > > Use the provided upper/lower helpers instead. > > Fixes: 3104ae5ad1b7 ("Bluetooth: btintel_pcie: Setup buffers for firmware traces") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > drivers/bluetooth/btintel_pcie.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c > index cecb926bce1c..e8307eeb971f 100644 > --- a/drivers/bluetooth/btintel_pcie.c > +++ b/drivers/bluetooth/btintel_pcie.c > @@ -138,8 +138,8 @@ static int btintel_pcie_setup_dbgc(struct btintel_pcie_data *data) > buf = &data->dbgc.bufs[i]; > buf->data_p_addr = data->dbgc.buf_p_addr + i * BTINTEL_PCIE_DBGC_BUFFER_SIZE; > buf->data = data->dbgc.buf_v_addr + i * BTINTEL_PCIE_DBGC_BUFFER_SIZE; > - db_frag.bufs[i].buf_addr_lsb = (u32)(buf->data_p_addr & 0xffffffff); > - db_frag.bufs[i].buf_addr_msb = (u32)((buf->data_p_addr >> 32) & 0xffffffff); > + db_frag.bufs[i].buf_addr_lsb = lower_32_bits(buf->data_p_addr); > + db_frag.bufs[i].buf_addr_msb = upper_32_bits(buf->data_p_addr); Great, I was going to ask Kiran to fix these, btw we might just amend the original change but I will keep your Signed-off-by. > db_frag.bufs[i].buf_size = BTINTEL_PCIE_DBGC_BUFFER_SIZE; > } > > -- > 2.39.5 > -- Luiz Augusto von Dentz