summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_sysfs.c
diff options
context:
space:
mode:
authorJames Bottomley <jejb@mulgrave.(none)>2005-11-08 12:50:26 -0500
committerJames Bottomley <jejb@mulgrave.(none)>2005-11-08 12:50:26 -0500
commit383f9749505cef0a30dbd7109db7fe469aa64753 (patch)
tree9e88d648396ac99a90d12ccf5471d001e87c65ae /drivers/scsi/scsi_sysfs.c
parentf093182d313edde9b1f86dbdaf40ba4da2dbd0e7 (diff)
parent3da8b713da723e78a03f0404beedf3cc6f4f860b (diff)
downloadlinux-383f9749505cef0a30dbd7109db7fe469aa64753.tar.gz
linux-383f9749505cef0a30dbd7109db7fe469aa64753.tar.bz2
linux-383f9749505cef0a30dbd7109db7fe469aa64753.zip
Merge by hand (conflicts between pending drivers and kfree cleanups)
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/scsi_sysfs.c')
-rw-r--r--drivers/scsi/scsi_sysfs.c9
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);
}
/**