summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2010-03-18 19:41:11 (GMT)
committerJames Bottomley <James.Bottomley@suse.de>2010-04-11 14:24:15 (GMT)
commit1821438a9b6a8454281ec2e151014709f641d2d5 (patch)
treefeea275b7e2c94d995e92dcd86a6074ab1832978
parent4f581b97314a2da96fa4d611ebfb586b2828b027 (diff)
downloadlinux-1821438a9b6a8454281ec2e151014709f641d2d5.tar.xz
[SCSI] don't reap targets upon device_add failure
This patch (as1358) fixes a bug in the error pathway of scsi_target_add(). If registration fails, the target should not be reaped. The reaping occurs later, when scanning is finished and all the child devices are removed. The current code leaves an unbalanced value in starget->reap_ref. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r--drivers/scsi/scsi_sysfs.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index 429c9b7..838a0db 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -853,9 +853,6 @@ static int scsi_target_add(struct scsi_target *starget)
error = device_add(&starget->dev);
if (error) {
dev_err(&starget->dev, "target device_add failed, error %d\n", error);
- get_device(&starget->dev);
- scsi_target_reap(starget);
- put_device(&starget->dev);
return error;
}
transport_add_device(&starget->dev);