hisi_sas_phy_write32(hisi_hba, phy_id,
                                     SAS_PHY_BIST_CTRL, reg_val);
 
-               mdelay(100);
-               reg_val |= (CFG_RX_BIST_EN_MSK | CFG_TX_BIST_EN_MSK);
-               hisi_sas_phy_write32(hisi_hba, phy_id,
-                                    SAS_PHY_BIST_CTRL, reg_val);
-
                /* set the bist init value */
                hisi_sas_phy_write32(hisi_hba, phy_id,
                                     SAS_PHY_BIST_CODE,
                                     SAS_PHY_BIST_CODE1,
                                     SAS_PHY_BIST_CODE1_INIT);
 
+               mdelay(100);
+               reg_val |= (CFG_RX_BIST_EN_MSK | CFG_TX_BIST_EN_MSK);
+               hisi_sas_phy_write32(hisi_hba, phy_id,
+                                    SAS_PHY_BIST_CTRL, reg_val);
+
                /* clear error bit */
                mdelay(100);
                hisi_sas_phy_read32(hisi_hba, phy_id, SAS_BIST_ERR_CNT);