b43_radio_write16(dev, 0x003A, (b43_radio_read16(dev, 0x003A)
                                        & 0xFF20) |
                          freq_r3A_value(freq));
-       b43_radio_write16(dev, 0x003D,
-                         b43_radio_read16(dev, 0x003D) & 0x00FF);
+       b43_radio_mask(dev, 0x003D, 0x00FF);
        b43_radio_write16(dev, 0x0081, (b43_radio_read16(dev, 0x0081)
                                        & 0xFF7F) | 0x0080);
-       b43_radio_write16(dev, 0x0035,
-                         b43_radio_read16(dev, 0x0035) & 0xFFEF);
+       b43_radio_mask(dev, 0x0035, 0xFFEF);
        b43_radio_write16(dev, 0x0035, (b43_radio_read16(dev, 0x0035)
                                        & 0xFFEF) | 0x0010);
        b43_radio_set_tx_iq(dev);
        b43_radio_write16(dev, 0x0082, 0x0080);
        b43_radio_write16(dev, 0x0080, 0x0000);
        b43_radio_write16(dev, 0x003F, 0x00DA);
-       b43_radio_write16(dev, 0x0005, b43_radio_read16(dev, 0x0005) & ~0x0008);
-       b43_radio_write16(dev, 0x0081, b43_radio_read16(dev, 0x0081) & ~0x0010);
-       b43_radio_write16(dev, 0x0081, b43_radio_read16(dev, 0x0081) & ~0x0020);
-       b43_radio_write16(dev, 0x0081, b43_radio_read16(dev, 0x0081) & ~0x0020);
+       b43_radio_mask(dev, 0x0005, ~0x0008);
+       b43_radio_mask(dev, 0x0081, ~0x0010);
+       b43_radio_mask(dev, 0x0081, ~0x0020);
+       b43_radio_mask(dev, 0x0081, ~0x0020);
        msleep(1);              /* delay 400usec */
 
        b43_radio_write16(dev, 0x0081,
 
        b43_radio_write16(dev, 0x0005,
                          (b43_radio_read16(dev, 0x0005) & ~0x0008) | 0x0008);
-       b43_radio_write16(dev, 0x0085, b43_radio_read16(dev, 0x0085) & ~0x0010);
-       b43_radio_write16(dev, 0x0005, b43_radio_read16(dev, 0x0005) & ~0x0008);
-       b43_radio_write16(dev, 0x0081, b43_radio_read16(dev, 0x0081) & ~0x0040);
+       b43_radio_mask(dev, 0x0085, ~0x0010);
+       b43_radio_mask(dev, 0x0005, ~0x0008);
+       b43_radio_mask(dev, 0x0081, ~0x0040);
        b43_radio_write16(dev, 0x0081,
                          (b43_radio_read16(dev, 0x0081) & ~0x0040) | 0x0040);
        b43_radio_write16(dev, 0x0005,
                        best_s = curr_s;
        }
        b43_phy_write(dev, B43_PHY_PWRDOWN, b);
-       b43_radio_write16(dev, 0x0004,
-               b43_radio_read16(dev, 0x0004) & 0xFFFB);
+       b43_radio_mask(dev, 0x0004, 0xFFFB);
        b43_radio_write16(dev, 0x0013, best_s);
        b43_ofdmtab_write16(dev, B43_OFDMTAB_AGC1_R1, 0, 0xFFEC);
        b43_phy_write(dev, B43_PHY_OFDM(0xB7), 0x1E80);
 
                if (saved == 0xFFFF)
                        saved = 4;
        } else {
-               b43_radio_write16(dev, 0x007A,
-                                 b43_radio_read16(dev, 0x007A) & 0x007F);
+               b43_radio_mask(dev, 0x007A, 0x007F);
                if (phy->rev != 1) {    /* Not in specs, but needed to prevent PPC machine check */
                        b43_phy_set(dev, 0x0814, 0x0001);
                        b43_phy_mask(dev, 0x0815, 0xFFFE);
        }
        b43_radio_set(dev, 0x007A, 0x0070);
        b43_set_all_gains(dev, 0, 8, 0);
-       b43_radio_write16(dev, 0x007A,
-                         b43_radio_read16(dev, 0x007A) & 0x00F7);
+       b43_radio_mask(dev, 0x007A, 0x00F7);
        if (phy->rev >= 2) {
                b43_phy_maskset(dev, 0x0811, 0xFFCF, 0x0030);
                b43_phy_maskset(dev, 0x0812, 0xFFCF, 0x0010);
        if (nrssi0 >= 0x0020)
                nrssi0 -= 0x0040;
 
-       b43_radio_write16(dev, 0x007A,
-                         b43_radio_read16(dev, 0x007A) & 0x007F);
+       b43_radio_mask(dev, 0x007A, 0x007F);
        if (phy->rev >= 2) {
                b43_phy_maskset(dev, 0x0003, 0xFF9F, 0x0040);
        }
                        b43_phy_set(dev, B43_PHY_RFOVERVAL, 0x8000);
                }
        }
-       b43_radio_write16(dev, 0x7A, b43_radio_read16(dev, 0x7A)
-                         & 0x00F7);
+       b43_radio_mask(dev, 0x7A, 0x00F7);
 
        j = 0;
        loop_i_max = (phy->radio_rev == 8) ? 15 : 9;
                        }
                }
                if (phy->radio_ver == 0x2050 && phy->analog == 0) {
-                       b43_radio_write16(dev, 0x0076,
-                                         b43_radio_read16(dev, 0x0076)
-                                         & 0xFF7B);
+                       b43_radio_mask(dev, 0x0076, 0xFF7B);
                } else {
                        b43_set_txpower_g(dev, &old_bbatt,
                                          &old_rfatt, old_tx_control);