]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
scsi: hisi_sas: fix the issue of setting linkrate register
[mirror_ubuntu-bionic-kernel.git] / drivers / scsi / hisi_sas / hisi_sas_v1_hw.c
index 38bbda938bc1ca3e3d61ea1a37c24945a07a52b2..2eb89806c512d0ce4c76d29653f43e20e3e8530a 100644 (file)
@@ -881,10 +881,11 @@ static void phy_set_linkrate_v1_hw(struct hisi_hba *hisi_hba, int phy_no,
        prog_phy_link_rate &= ~0xff;
        prog_phy_link_rate |= rate_mask;
 
+       disable_phy_v1_hw(hisi_hba, phy_no);
+       msleep(100);
        hisi_sas_phy_write32(hisi_hba, phy_no, PROG_PHY_LINK_RATE,
                        prog_phy_link_rate);
-
-       phy_hard_reset_v1_hw(hisi_hba, phy_no);
+       start_phy_v1_hw(hisi_hba, phy_no);
 }
 
 static int get_wideport_bitmap_v1_hw(struct hisi_hba *hisi_hba, int port_id)