From 2c53feab7f12d4515359269fc06c92211f60079d Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Wed, 4 Jan 2006 13:45:20 +0100 Subject: [PATCH] --- yaml --- r: 18437 b: refs/heads/master c: d4054239929479907f20b9d68c905589125ad343 h: refs/heads/master i: 18435: a153f6116bb531f0b81daafe110f5ca7f5a249b1 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/scsi_transport_sas.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 1470650d320c..fa842f245fa8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 745caf71d99c5d4ff4c9e4c0f74e64c429fed531 +refs/heads/master: d4054239929479907f20b9d68c905589125ad343 diff --git a/trunk/drivers/scsi/scsi_transport_sas.c b/trunk/drivers/scsi/scsi_transport_sas.c index 357b52f5f996..e950435a11d8 100644 --- a/trunk/drivers/scsi/scsi_transport_sas.c +++ b/trunk/drivers/scsi/scsi_transport_sas.c @@ -687,7 +687,17 @@ sas_rphy_delete(struct sas_rphy *rphy) struct Scsi_Host *shost = dev_to_shost(parent->dev.parent); struct sas_host_attrs *sas_host = to_sas_host_attrs(shost); - scsi_remove_target(dev); + switch (rphy->identify.device_type) { + case SAS_END_DEVICE: + scsi_remove_target(dev); + break; + case SAS_EDGE_EXPANDER_DEVICE: + case SAS_FANOUT_EXPANDER_DEVICE: + device_for_each_child(dev, NULL, do_sas_phy_delete); + break; + default: + break; + } transport_remove_device(dev); device_del(dev);