]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/scsi/libsas/sas_expander.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
[karo-tx-linux.git] / drivers / scsi / libsas / sas_expander.c
index d63f0fbcd10383219cef6c61dec16d2d62d4a41a..05acd9e35fc4def9872d8b19debdb2875302b65b 100644 (file)
@@ -251,6 +251,8 @@ static void sas_set_ex_phy(struct domain_device *dev, int phy_id, void *rsp)
        phy->phy->identify.device_type = dr->attached_dev_type;
        phy->phy->identify.initiator_port_protocols = phy->attached_iproto;
        phy->phy->identify.target_port_protocols = phy->attached_tproto;
+       if (!phy->attached_tproto && dr->attached_sata_dev)
+               phy->phy->identify.target_port_protocols = SAS_PROTOCOL_SATA;
        phy->phy->identify.phy_identifier = phy_id;
        phy->phy->minimum_linkrate_hw = dr->hmin_linkrate;
        phy->phy->maximum_linkrate_hw = dr->hmax_linkrate;
@@ -806,9 +808,7 @@ static struct domain_device *sas_ex_discover_end_dev(
                child->rphy = rphy;
                sas_fill_in_rphy(child, rphy);
 
-               spin_lock_irq(&parent->port->dev_list_lock);
-               list_add_tail(&child->dev_list_node, &parent->port->dev_list);
-               spin_unlock_irq(&parent->port->dev_list_lock);
+               list_add_tail(&child->disco_list_node, &parent->port->disco_list);
 
                res = sas_discover_end_dev(child);
                if (res) {