The shift operation is higher precedence so the code is wrong and it sets of a static checker warning. But it doesn't affect real life because BT_UART_MSG_FRAME3SCOESCO_POS is zero so the shift is a no-op. I have re-written it in normal style and with parenthesis as a cleanup and to silence the static checker warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> diff --git a/drivers/net/wireless/iwlwifi/dvm/lib.c b/drivers/net/wireless/iwlwifi/dvm/lib.c index 2191621..065d3d5 100644 --- a/drivers/net/wireless/iwlwifi/dvm/lib.c +++ b/drivers/net/wireless/iwlwifi/dvm/lib.c @@ -418,7 +418,7 @@ void iwlagn_bt_adjust_rssi_monitor(struct iwl_priv *priv, bool rssi_ena) static bool iwlagn_bt_traffic_is_sco(struct iwl_bt_uart_msg *uart_msg) { - return BT_UART_MSG_FRAME3SCOESCO_MSK & uart_msg->frame3 >> + return (uart_msg->frame3 & BT_UART_MSG_FRAME3SCOESCO_MSK) >> BT_UART_MSG_FRAME3SCOESCO_POS; } -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html