aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libsas/sas_port.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/libsas/sas_port.c')
-rw-r--r--drivers/scsi/libsas/sas_port.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/libsas/sas_port.c b/drivers/scsi/libsas/sas_port.c
index 64722f42b256..f07e55d3aa73 100644
--- a/drivers/scsi/libsas/sas_port.c
+++ b/drivers/scsi/libsas/sas_port.c
@@ -66,6 +66,7 @@ static void sas_resume_port(struct asd_sas_phy *phy)
66 rc = sas_notify_lldd_dev_found(dev); 66 rc = sas_notify_lldd_dev_found(dev);
67 if (rc) { 67 if (rc) {
68 sas_unregister_dev(port, dev); 68 sas_unregister_dev(port, dev);
69 sas_destruct_devices(port);
69 continue; 70 continue;
70 } 71 }
71 72
@@ -220,6 +221,7 @@ void sas_deform_port(struct asd_sas_phy *phy, int gone)
220 221
221 if (port->num_phys == 1) { 222 if (port->num_phys == 1) {
222 sas_unregister_domain_devices(port, gone); 223 sas_unregister_domain_devices(port, gone);
224 sas_destruct_devices(port);
223 sas_port_delete(port->port); 225 sas_port_delete(port->port);
224 port->port = NULL; 226 port->port = NULL;
225 } else { 227 } else {
@@ -317,6 +319,7 @@ static void sas_init_port(struct asd_sas_port *port,
317 INIT_LIST_HEAD(&port->dev_list); 319 INIT_LIST_HEAD(&port->dev_list);
318 INIT_LIST_HEAD(&port->disco_list); 320 INIT_LIST_HEAD(&port->disco_list);
319 INIT_LIST_HEAD(&port->destroy_list); 321 INIT_LIST_HEAD(&port->destroy_list);
322 INIT_LIST_HEAD(&port->sas_port_del_list);
320 spin_lock_init(&port->phy_list_lock); 323 spin_lock_init(&port->phy_list_lock);
321 INIT_LIST_HEAD(&port->phy_list); 324 INIT_LIST_HEAD(&port->phy_list);
322 port->ha = sas_ha; 325 port->ha = sas_ha;