BIT_WMAC_USE_NDPARATE |
                  (csi_rsc << 13);
 
-       rtw_write8(rtwdev, REG_SND_PTCL_CTRL, RTW_SND_CTRL_SOUNDING);
+       rtw_write8_mask(rtwdev, REG_SND_PTCL_CTRL, BIT_MASK_BEAMFORM,
+                       RTW_SND_CTRL_SOUNDING);
        rtw_write8(rtwdev, REG_SND_PTCL_CTRL + 3, 0x26);
        rtw_write8_clr(rtwdev, REG_RXFLTMAP1, BIT_RXFLTMAP1_BF_REPORT_POLL);
        rtw_write8_clr(rtwdev, REG_RXFLTMAP4, BIT_RXFLTMAP4_BF_REPORT_POLL);
 
 void rtw_bf_del_sounding(struct rtw_dev *rtwdev)
 {
-       rtw_write8(rtwdev, REG_SND_PTCL_CTRL, 0);
+       rtw_write8_mask(rtwdev, REG_SND_PTCL_CTRL, BIT_MASK_BEAMFORM, 0);
 }
 
 void rtw_bf_enable_bfee_su(struct rtw_dev *rtwdev, struct rtw_vif *vif,
        }
 
        /* Sounding protocol control */
-       rtw_write8(rtwdev, REG_SND_PTCL_CTRL, RTW_SND_CTRL_SOUNDING);
+       rtw_write8_mask(rtwdev, REG_SND_PTCL_CTRL, BIT_MASK_BEAMFORM,
+                       RTW_SND_CTRL_SOUNDING);
 
        /* MAC address/Partial AID of Beamformer */
        for (i = 0; i < ETH_ALEN; i++)
        struct rtw_bf_info *bfinfo = &rtwdev->bf_info;
 
        rtw_dbg(rtwdev, RTW_DBG_BF, "remove as a su bfee\n");
-       rtw_write8(rtwdev, REG_SND_PTCL_CTRL, RTW_SND_CTRL_REMOVE);
+       rtw_write8_mask(rtwdev, REG_SND_PTCL_CTRL, BIT_MASK_BEAMFORM,
+                       RTW_SND_CTRL_REMOVE);
 
        switch (bfee->su_reg_index) {
        case 0:
 {
        struct rtw_bf_info *bfinfo = &rtwdev->bf_info;
 
-       rtw_write8(rtwdev, REG_SND_PTCL_CTRL, RTW_SND_CTRL_REMOVE);
+       rtw_write8_mask(rtwdev, REG_SND_PTCL_CTRL, BIT_MASK_BEAMFORM,
+                       RTW_SND_CTRL_REMOVE);
 
        rtw_bf_del_bfer_entry_mu(rtwdev);
 
 
 #define REG_ASSOCIATED_BFMER1_INFO     0x06EC
 #define REG_TX_CSI_RPT_PARAM_BW20      0x06F4
 #define REG_SND_PTCL_CTRL              0x0718
+#define BIT_DIS_CHK_VHTSIGB_CRC                BIT(6)
+#define BIT_DIS_CHK_VHTSIGA_CRC                BIT(5)
+#define BIT_MASK_BEAMFORM              (GENMASK(4, 0) | BIT(7))
 #define REG_MU_TX_CTL                  0x14C0
 #define REG_MU_STA_GID_VLD             0x14C4
 #define REG_MU_STA_USER_POS_INFO       0x14C8
 #define BIT_RXFLTMAP4_BF_REPORT_POLL   BIT(4)
 
 #define RTW_NDP_RX_STANDBY_TIME        0x70
-#define RTW_SND_CTRL_REMOVE    0xD8
-#define RTW_SND_CTRL_SOUNDING  0xDB
+#define RTW_SND_CTRL_REMOVE    0x98
+#define RTW_SND_CTRL_SOUNDING  0x9B
 
 enum csi_seg_len {
        HAL_CSI_SEG_4K = 0,
 
        rtw_write8(rtwdev, REG_TCR + 1, WLAN_TX_FUNC_CFG1);
        rtw_write8(rtwdev, REG_ACKTO_CCK, 0x40);
        rtw_write8_set(rtwdev, REG_WMAC_TRXPTCL_CTL_H, BIT(1));
-       rtw_write8_set(rtwdev, REG_SND_PTCL_CTRL, BIT(6));
+       rtw_write8_set(rtwdev, REG_SND_PTCL_CTRL,
+                      BIT_DIS_CHK_VHTSIGB_CRC);
        rtw_write32(rtwdev, REG_WMAC_OPTION_FUNCTION + 8, WLAN_MAC_OPT_FUNC2);
        rtw_write8(rtwdev, REG_WMAC_OPTION_FUNCTION + 4, WLAN_MAC_OPT_NORM_FUNC1);
 
 
        rtw_write8(rtwdev, REG_TCR + 1, WLAN_TX_FUNC_CFG1);
        rtw_write32(rtwdev, REG_WMAC_OPTION_FUNCTION + 8, WLAN_MAC_OPT_FUNC2);
        rtw_write8(rtwdev, REG_WMAC_OPTION_FUNCTION + 4, WLAN_MAC_OPT_NORM_FUNC1);
+       rtw_write8_set(rtwdev, REG_SND_PTCL_CTRL,
+                      BIT_DIS_CHK_VHTSIGB_CRC);
 
        return 0;
 }
 
                     BIT_RXPSF_CONT_ERRCHKEN);
        value16 = BIT_SET_RXPSF_ERRTHR(value16, 0x07);
        rtw_write16(rtwdev, REG_RXPSF_CTRL, value16);
+       rtw_write8_set(rtwdev, REG_SND_PTCL_CTRL,
+                      BIT_DIS_CHK_VHTSIGB_CRC);
 
        /* Interrupt migration configuration */
        rtw_write32(rtwdev, REG_INT_MIG, WLAN_MAC_INT_MIG_CFG);