Commit 1821438a authored by Alan Stern's avatar Alan Stern Committed by James Bottomley

[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: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 4f581b97
...@@ -853,9 +853,6 @@ static int scsi_target_add(struct scsi_target *starget) ...@@ -853,9 +853,6 @@ static int scsi_target_add(struct scsi_target *starget)
error = device_add(&starget->dev); error = device_add(&starget->dev);
if (error) { if (error) {
dev_err(&starget->dev, "target device_add failed, error %d\n", 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; return error;
} }
transport_add_device(&starget->dev); transport_add_device(&starget->dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment