OSDN Git Service

hisi_sas: use device linkrate in MCR for v2 hw
authorJohn Garry <john.garry@huawei.com>
Fri, 8 Apr 2016 09:23:11 +0000 (17:23 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 15 Apr 2016 20:53:15 +0000 (16:53 -0400)
Contrary to the field name, the MCR (max connection rate) in the ITCT
should hold the device linkrate (linkrate of the connected phy), and not
the max linkrate.

This fixes an issue seen where some SATA drives connected through an
expander which would not attach.

Signed-off-by: John Garry <john.garry@huawei.com>
Reviewed-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c

index b733747..f462fc4 100644 (file)
@@ -544,7 +544,7 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba,
        }
 
        qw0 |= ((1 << ITCT_HDR_VALID_OFF) |
-               (device->max_linkrate << ITCT_HDR_MCR_OFF) |
+               (device->linkrate << ITCT_HDR_MCR_OFF) |
                (1 << ITCT_HDR_VLN_OFF) |
                (port->id << ITCT_HDR_PORT_ID_OFF));
        itct->qw0 = cpu_to_le64(qw0);