diff options
Diffstat (limited to 'drivers/scsi/libsas/sas_expander.c')
-rw-r--r-- | drivers/scsi/libsas/sas_expander.c | 8 |
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 | } |