There is an undefined bitwise shift behavior, when the right operand is greater than or equal to then width of the promoted left operand. (eg: (u32)data << 32). Commit bc8263083af6("fix an undefined bitwise shift behavior") only fixed one problem, there are many similar problems in drivers/net/wireless/realtek/. This patchset adds a new function calculate_bit_shift() to fix the remaining undefined bitwise shift behavior problems.(Compile tested only) Su Hui (11): wifi: rtlwifi: add calculate_bit_shift() wifi: rtlwifi: rtl8821ae: phy: using calculate_bit_shift() wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift() wifi: rtlwifi: rtl8192c: using calculate_bit_shift() wifi: rtlwifi: rtl8192cu: using calculate_bit_shift() wifi: rtlwifi: rtl8192ce: using calculate_bit_shift() wifi: rtlwifi: rtl8192de: using calculate_bit_shift() wifi: rtlwifi: rtl8192ee: using calculate_bit_shift() wifi: rtlwifi: rtl8192se: using calculate_bit_shift() wifi: rtlwifi: rtl8723_common: using calculate_bit_shift() wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift() .../net/wireless/realtek/rtlwifi/rtl8188ee/phy.c | 14 ++++---------- .../realtek/rtlwifi/rtl8192c/phy_common.c | 12 ++---------- .../realtek/rtlwifi/rtl8192c/phy_common.h | 1 - .../net/wireless/realtek/rtlwifi/rtl8192ce/phy.c | 6 +++--- .../net/wireless/realtek/rtlwifi/rtl8192ce/phy.h | 1 - .../net/wireless/realtek/rtlwifi/rtl8192cu/phy.c | 6 +++--- .../net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 15 ++++----------- .../net/wireless/realtek/rtlwifi/rtl8192ee/phy.c | 16 ++++------------ .../net/wireless/realtek/rtlwifi/rtl8192se/phy.c | 15 ++++----------- .../net/wireless/realtek/rtlwifi/rtl8723ae/phy.c | 6 +++--- .../net/wireless/realtek/rtlwifi/rtl8723be/phy.c | 4 ++-- .../realtek/rtlwifi/rtl8723com/phy_common.c | 12 ++---------- .../realtek/rtlwifi/rtl8723com/phy_common.h | 1 - .../net/wireless/realtek/rtlwifi/rtl8821ae/phy.c | 15 ++++----------- drivers/net/wireless/realtek/rtlwifi/wifi.h | 7 +++++++ 15 files changed, 42 insertions(+), 89 deletions(-) -- 2.30.2