aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libsas/sas_expander.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/libsas/sas_expander.c')
-rw-r--r--drivers/scsi/libsas/sas_expander.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c
index a8a57b0593e3..7444d40e261c 100644
--- a/drivers/scsi/libsas/sas_expander.c
+++ b/drivers/scsi/libsas/sas_expander.c
@@ -1916,7 +1916,8 @@ static void sas_unregister_devs_sas_addr(struct domain_device *parent,
1916 sas_port_delete_phy(phy->port, phy->phy); 1916 sas_port_delete_phy(phy->port, phy->phy);
1917 sas_device_set_phy(found, phy->port); 1917 sas_device_set_phy(found, phy->port);
1918 if (phy->port->num_phys == 0) 1918 if (phy->port->num_phys == 0)
1919 sas_port_delete(phy->port); 1919 list_add_tail(&phy->port->del_list,
1920 &parent->port->sas_port_del_list);
1920 phy->port = NULL; 1921 phy->port = NULL;
1921 } 1922 }
1922} 1923}
@@ -2124,7 +2125,7 @@ int sas_ex_revalidate_domain(struct domain_device *port_dev)
2124 struct domain_device *dev = NULL; 2125 struct domain_device *dev = NULL;
2125 2126
2126 res = sas_find_bcast_dev(port_dev, &dev); 2127 res = sas_find_bcast_dev(port_dev, &dev);
2127 while (res == 0 && dev) { 2128 if (res == 0 && dev) {
2128 struct expander_device *ex = &dev->ex_dev; 2129 struct expander_device *ex = &dev->ex_dev;
2129 int i = 0, phy_id; 2130 int i = 0, phy_id;
2130 2131
@@ -2136,9 +2137,6 @@ int sas_ex_revalidate_domain(struct domain_device *port_dev)
2136 res = sas_rediscover(dev, phy_id); 2137 res = sas_rediscover(dev, phy_id);
2137 i = phy_id + 1; 2138 i = phy_id + 1;
2138 } while (i < ex->num_phys); 2139 } while (i < ex->num_phys);
2139
2140 dev = NULL;
2141 res = sas_find_bcast_dev(port_dev, &dev);
2142 } 2140 }
2143 return res; 2141 return res;
2144} 2142}