diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-11-11 23:39:35 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-11 23:39:35 -0500 |
commit | f4256e301d9800b1e0276404cb01b3ac85b51067 (patch) | |
tree | 975f56627b78f757608b31684311a24ca1478481 /drivers/scsi/scsi_sysfs.c | |
parent | fb2a26b9f8f5eda6b96ba9753edf105e5999d6d9 (diff) | |
parent | cd52d1ee9a92587b242d946a2300a3245d3b885a (diff) | |
download | kernel_replicant_linux-f4256e301d9800b1e0276404cb01b3ac85b51067.tar.gz kernel_replicant_linux-f4256e301d9800b1e0276404cb01b3ac85b51067.tar.bz2 kernel_replicant_linux-f4256e301d9800b1e0276404cb01b3ac85b51067.zip |
Merge branch 'master'
Diffstat (limited to 'drivers/scsi/scsi_sysfs.c')
-rw-r--r-- | drivers/scsi/scsi_sysfs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index 72a6550a056c..46349293de08 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -691,16 +691,19 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev) void __scsi_remove_device(struct scsi_device *sdev) { + struct device *dev = &sdev->sdev_gendev; + if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0) return; class_device_unregister(&sdev->sdev_classdev); - device_del(&sdev->sdev_gendev); + transport_remove_device(dev); + device_del(dev); scsi_device_set_state(sdev, SDEV_DEL); if (sdev->host->hostt->slave_destroy) sdev->host->hostt->slave_destroy(sdev); - transport_unregister_device(&sdev->sdev_gendev); - put_device(&sdev->sdev_gendev); + transport_destroy_device(dev); + put_device(dev); } /** |