OSDN Git Service

[SCSI] fix refcounting bug in scsi_get_host_dev
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 12 Feb 2010 17:13:39 +0000 (12:13 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Thu, 18 Feb 2010 16:52:39 +0000 (10:52 -0600)
This patch (as1334) fixes a bug in scsi_get_host_dev().  It
incorrectly calls get_device() on the new device's target.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/scsi_scan.c

index 60b262d..f697229 100644 (file)
@@ -1909,10 +1909,9 @@ struct scsi_device *scsi_get_host_dev(struct Scsi_Host *shost)
                goto out;
 
        sdev = scsi_alloc_sdev(starget, 0, NULL);
-       if (sdev) {
-               sdev->sdev_gendev.parent = get_device(&starget->dev);
+       if (sdev)
                sdev->borken = 0;
-       else
+       else
                scsi_target_reap(starget);
        put_device(&starget->dev);
  out: