wifi: b43: silence sparse warnings
authorJohannes Berg <johannes.berg@intel.com>
Fri, 23 Feb 2024 10:40:23 +0000 (11:40 +0100)
committerKalle Valo <kvalo@kernel.org>
Wed, 28 Feb 2024 11:37:22 +0000 (13:37 +0200)
sparse complains on this code about casts that lose bits
due to the usage of bitwise not, but really we do want
16 bits only, so clarify that by using masks.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240223114023.c64e2d348453.Iccc4ace1116721a044e5f31f40ea7709e72145f3@changeid
drivers/net/wireless/broadcom/b43/phy_ht.c
drivers/net/wireless/broadcom/b43/phy_n.c

index d050971d150a5aca644d2c46fefa00c0b39cb0ce..26a226126bc44e9c8d5ed3bc05af596293b41176 100644 (file)
@@ -322,8 +322,8 @@ static void b43_phy_ht_bphy_reset(struct b43_wldev *dev, bool reset)
                            B43_PHY_B_BBCFG_RSTCCA | B43_PHY_B_BBCFG_RSTRX);
        else
                b43_phy_mask(dev, B43_PHY_B_BBCFG,
-                            (u16)~(B43_PHY_B_BBCFG_RSTCCA |
-                                   B43_PHY_B_BBCFG_RSTRX));
+                            0xffff & ~(B43_PHY_B_BBCFG_RSTCCA |
+                                       B43_PHY_B_BBCFG_RSTRX));
 
        b43_write16(dev, B43_MMIO_PSM_PHY_HDR, tmp);
 }
@@ -551,7 +551,7 @@ static void b43_phy_ht_tx_power_ctl(struct b43_wldev *dev, bool enable)
                                phy_ht->tx_pwr_idx[i] =
                                        b43_phy_read(dev, status_regs[i]);
                }
-               b43_phy_mask(dev, B43_PHY_HT_TXPCTL_CMD_C1, ~en_bits);
+               b43_phy_mask(dev, B43_PHY_HT_TXPCTL_CMD_C1, 0xffff & ~en_bits);
        } else {
                b43_phy_set(dev, B43_PHY_HT_TXPCTL_CMD_C1, en_bits);
 
index 2c0c019a815d613df753aa51949985f12f52af51..4bb005b93f2cc7dbdf5baf5cadf55603899e275a 100644 (file)
@@ -6246,7 +6246,7 @@ static void b43_nphy_channel_setup(struct b43_wldev *dev,
                b43_write16(dev, B43_MMIO_PSM_PHY_HDR, tmp16 | 4);
                /* Take BPHY out of the reset */
                b43_phy_mask(dev, B43_PHY_B_BBCFG,
-                            (u16)~(B43_PHY_B_BBCFG_RSTCCA | B43_PHY_B_BBCFG_RSTRX));
+                            ~(B43_PHY_B_BBCFG_RSTCCA | B43_PHY_B_BBCFG_RSTRX) & 0xffff);
                b43_write16(dev, B43_MMIO_PSM_PHY_HDR, tmp16);
        }
 
@@ -6377,7 +6377,7 @@ static int b43_nphy_set_channel(struct b43_wldev *dev,
        } else if (channel_type == NL80211_CHAN_HT40MINUS) {
                b43_phy_mask(dev, B43_NPHY_RXCTL, ~B43_NPHY_RXCTL_BSELU20);
                if (phy->rev >= 7)
-                       b43_phy_mask(dev, 0x310, (u16)~0x8000);
+                       b43_phy_mask(dev, 0x310, 0x7fff);
        }
 
        if (phy->rev >= 19) {