Browse Source

[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>
Alan Stern 15 năm trước cách đây
mục cha
commit
1821438a9b
1 tập tin đã thay đổi với 0 bổ sung3 xóa
  1. 0 3
      drivers/scsi/scsi_sysfs.c

+ 0 - 3
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);