On 19/01/2023 13:31, Ping-Ke Shih wrote: > Type of txdw7 is __le16, so assign __le32 is wrong. Also, the > TXDESC_ANTENNA_SELECT_C is defined for __le32, so shift 16 bits to fit > the value. Compile test only. > > sparse warnings: (new ones prefixed by >>) >>> rtl8xxxu_core.c:5198:24: sparse: sparse: invalid assignment: |= >>> rtl8xxxu_core.c:5198:24: sparse: left side has type restricted __le16 >>> rtl8xxxu_core.c:5198:24: sparse: right side has type restricted __le32 > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > --- > drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c > index 35dc777c1fba8..0869b95f1b3f3 100644 > --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c > +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c > @@ -5250,7 +5250,7 @@ rtl8xxxu_fill_txdesc_v3(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, > > tx_desc->txdw2 |= cpu_to_le32(TXDESC_ANTENNA_SELECT_A | > TXDESC_ANTENNA_SELECT_B); > - tx_desc->txdw7 |= cpu_to_le32(TXDESC_ANTENNA_SELECT_C); > + tx_desc->txdw7 |= cpu_to_le16(TXDESC_ANTENNA_SELECT_C >> 16); > } > > static void rtl8xxxu_tx(struct ieee80211_hw *hw, Tested-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx>