]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
scsi: hisi_sas: Feed back linkrate(max/min) when re-attached
authorLuo Jiaxing <luojiaxing@huawei.com>
Mon, 24 Sep 2018 15:06:28 +0000 (23:06 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 16 Oct 2018 04:27:03 +0000 (00:27 -0400)
At directly attached situation, if the user modifies the sysfs interface
of maximum_linkrate and minimum_linkrate to renegotiate the linkrate
between SAS controller and target, the value of both files mentioned
above should have change to user setting after renegotiate is over, but
it remains unchanged.

To fix this bug, maximum_linkrate and minimum_linkrate will be directly
fed back to relevant sas_phy structure.

Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c

index 1975c9266978d3f7cdf97432ad415a67da2fbbb4..791787b814ded2b6ed20cb7bbece0be9a541bb69 100644 (file)
@@ -904,6 +904,9 @@ static void hisi_sas_phy_set_linkrate(struct hisi_hba *hisi_hba, int phy_no,
        _r.maximum_linkrate = max;
        _r.minimum_linkrate = min;
 
+       sas_phy->phy->maximum_linkrate = max;
+       sas_phy->phy->minimum_linkrate = min;
+
        hisi_hba->hw->phy_disable(hisi_hba, phy_no);
        msleep(100);
        hisi_hba->hw->phy_set_linkrate(hisi_hba, phy_no, &_r);