[SCSI] libsas: don't mark expanders as gone when a child device is removed
authorDan Williams <dan.j.williams@intel.com>
Wed, 21 Dec 2011 22:55:38 +0000 (14:55 -0800)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 29 Feb 2012 18:51:48 +0000 (12:51 -0600)
Commit 56dd2c06 "[SCSI] libsas: Don't issue commands to devices that
have been hot-removed" marked the parent device of an end-device as gone
when all the phys to the end device have been deleted.

The expander device is still present until its parent is removed.  This
is a benign change until the smp_execute_task() path is taught to check
->gone.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/libsas/sas_expander.c

index 32e417e..7701ab5 100644 (file)
@@ -1820,7 +1820,6 @@ static void sas_unregister_devs_sas_addr(struct domain_device *parent,
                                break;
                        }
                }
-               set_bit(SAS_DEV_GONE, &parent->state);
                sas_disable_routing(parent, phy->attached_sas_addr);
        }
        memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE);