]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/scsi/libsas/sas_discover.c
[SCSI] libsas: mark all domain devices gone if root port disappears
[mv-sheeva.git] / drivers / scsi / libsas / sas_discover.c
index 789b50861bb9aeedbf8856fb094abbc5420226a9..b91866a8233bae0e2a1d5ae0d9a6afe42de29ea6 100644 (file)
@@ -299,12 +299,16 @@ void sas_unregister_dev(struct asd_sas_port *port, struct domain_device *dev)
        }
 }
 
-void sas_unregister_domain_devices(struct asd_sas_port *port)
+void sas_unregister_domain_devices(struct asd_sas_port *port, int gone)
 {
        struct domain_device *dev, *n;
 
-       list_for_each_entry_safe_reverse(dev, n, &port->dev_list, dev_list_node)
+       list_for_each_entry_safe_reverse(dev, n, &port->dev_list, dev_list_node) {
+               if (gone)
+                       set_bit(SAS_DEV_GONE, &dev->state);
                sas_unregister_dev(port, dev);
+       }
+
        list_for_each_entry_safe(dev, n, &port->disco_list, disco_list_node)
                sas_unregister_dev(port, dev);