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); db_frag.bufs[i].buf_size = BTINTEL_PCIE_DBGC_BUFFER_SIZE; } -- 2.39.5