Skip to contentSkip to conversation

sas: fix remote phy removal

PATCH New Christoph Hellwig 1 participant 1 message Sep 25, 2005 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sas: fix remote phy removal

Brown paperback bug: sas_rphy_delete was ordered completely wrong. Fix it up to be the same order as sas_phy_delete or fc_rport_terminate and fix rphy objects that leaked after module removal.

This patch should go to Linus for 2.6.13

drivers/scsi/scsi_transport_sas.c +4 -5
Index: linux-2.6/drivers/scsi/scsi_transport_sas.c
===================================================================
@@ -652,17 +652,16 @@
 	struct Scsi_Host *shost = dev_to_shost(parent->dev.parent);
 	struct sas_host_attrs *sas_host = to_sas_host_attrs(shost);
 
-	transport_destroy_device(&rphy->dev);
+	scsi_remove_target(dev);
 
-	scsi_remove_target(&rphy->dev);
+	transport_remove_device(dev);
+	device_del(dev);
+	transport_destroy_device(dev);
 
 	spin_lock(&sas_host->lock);
 	list_del(&rphy->list);
 	spin_unlock(&sas_host->lock);
 
-	transport_remove_device(dev);
-	device_del(dev);
-	transport_destroy_device(dev);
 	put_device(&parent->dev);
 }
 EXPORT_SYMBOL(sas_rphy_delete);