[SCSI] libsas: set sas_address and device type of rphy
authorJack Wang <jack_wang@usish.com>
Fri, 23 Sep 2011 06:32:32 +0000 (14:32 +0800)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 2 Oct 2011 17:51:06 +0000 (12:51 -0500)
Libsas forget to set the sas_address and device type of rphy lead to file
under /sys/class/sas_x show wrong value, fix that.

Signed-off-by: Jack Wang <jack_wang@usish.com>
Tested-by: Crystal Yu <crystal_yu@usish.com>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/libsas/sas_expander.c

index e8d0115a025a31b628f37a4e5dcedd870f38ecfb..b172f17730812d751ec7bc8643f901a87c0171c0 100644 (file)
@@ -199,6 +199,8 @@ static void sas_set_ex_phy(struct domain_device *dev, int phy_id,
        phy->virtual = dr->virtual;
        phy->last_da_index = -1;
 
+       phy->phy->identify.sas_address = SAS_ADDR(phy->attached_sas_addr);
+       phy->phy->identify.device_type = phy->attached_dev_type;
        phy->phy->identify.initiator_port_protocols = phy->attached_iproto;
        phy->phy->identify.target_port_protocols = phy->attached_tproto;
        phy->phy->identify.phy_identifier = phy_id;