[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>
This commit is contained in:
parent
4f581b9731
commit
1821438a9b
1 changed files with 0 additions and 3 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue