summaryrefslogtreecommitdiff
path: root/drivers/scsi/libsas/sas_port.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2012-01-10 22:39:13 (GMT)
committerJames Bottomley <JBottomley@Parallels.com>2012-02-29 21:20:55 (GMT)
commit7d05919aad080074453de880822fe5805875645f (patch)
treedf78c12a7bfc9acaefd91d2a8852dca17c178790 /drivers/scsi/libsas/sas_port.c
parent45c73b65194173e77030d5b95abe5b63a402d268 (diff)
downloadlinux-fsl-qoriq-7d05919aad080074453de880822fe5805875645f.tar.xz
[SCSI] libsas: mark all domain devices gone if root port disappears
If the top level expander is hot removed, mark all child devices as gone before unregistration to short circuit futile recovery. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/libsas/sas_port.c')
-rw-r--r--drivers/scsi/libsas/sas_port.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/scsi/libsas/sas_port.c b/drivers/scsi/libsas/sas_port.c
index 31adcd1..59ee8a0 100644
--- a/drivers/scsi/libsas/sas_port.c
+++ b/drivers/scsi/libsas/sas_port.c
@@ -167,9 +167,7 @@ void sas_deform_port(struct asd_sas_phy *phy, int gone)
dev->pathways--;
if (port->num_phys == 1) {
- if (dev && gone)
- set_bit(SAS_DEV_GONE, &dev->state);
- sas_unregister_domain_devices(port);
+ sas_unregister_domain_devices(port, gone);
sas_port_delete(port->port);
port->port = NULL;
} else {