aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2012-04-16 17:08:23 -0700
committerDan Williams <dan.j.williams@intel.com>2012-04-16 17:08:23 -0700
commit84bf8dd1fe85752c2789fb3d7696b67116e0cb1d (patch)
tree25198c55ab9b4ea78ba35dd236312699d2d710fe
parentd596fa056bac716aa72157b4e1fbed5d074e53cc (diff)
downloadisci-scratch.tar.gz
mvsas: fix local port name regressionscratch
Commit a692b0e "[SCSI] libsas: fix sas port naming" added a dependency on lldds filling out the id field of registered phys. Add this for mvsas. Note we do this in the lldd rather than the core to allow it the control of mappping physical phy id to the libsas phy index. Reported-by: Tom Rini <trini@ti.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r--drivers/scsi/mvsas/mv_init.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
index cc59dff3810b3d..0c9af7284fc85a 100644
--- a/drivers/scsi/mvsas/mv_init.c
+++ b/drivers/scsi/mvsas/mv_init.c
@@ -497,10 +497,12 @@ static void __devinit mvs_post_sas_ha_init(struct Scsi_Host *shost,
for (j = 0; j < nr_core; j++) {
mvi = ((struct mvs_prv_info *)sha->lldd_ha)->mvi[j];
for (i = 0; i < chip_info->n_phy; i++) {
- sha->sas_phy[j * chip_info->n_phy + i] =
- &mvi->phy[i].sas_phy;
- sha->sas_port[j * chip_info->n_phy + i] =
- &mvi->port[i].sas_port;
+ struct asd_sas_phy *phy = &mvi->phy[i].sas_phy;
+ int id = j * chip_info->n_phy + i;
+
+ phy->id = id;
+ sha->sas_phy[id] = phy;
+ sha->sas_port[id] = &mvi->port[i].sas_port;
}
}