[SCSI] libsas: kill spurious sas_put_device
Maciej Trela [Fri, 13 Jan 2012 21:52:38 +0000 (21:52 +0000)]
Holdover from a patch rework, prior to the addition of SAS_DEV_DESTROY
we were holding a reference while the destruct was pending in case the
domain was torn down before the desctruct event ran.  That case is
covered by SAS_DEV_DESTROY, and the sas_put_device() just corrupts freed
memory, or worse frees the memory while another agent holds a reference.

Signed-off-by: Maciej Trela <maciej.trela@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

drivers/scsi/libsas/sas_discover.c

index 4be5dda..c1ac99d 100644 (file)
@@ -281,8 +281,6 @@ static void sas_destruct_devices(struct work_struct *work)
                sas_rphy_delete(dev->rphy);
                dev->rphy = NULL;
                sas_unregister_common_dev(port, dev);
-
-               sas_put_device(dev);
        }
 }