]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 23 Jun 2011 22:28:38 +0000 (15:28 -0700)
commit d5469119f0098881ab7f991990ef4f81ef13a194 upstream.

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>
Cc: Hannes Reinecke <hare@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/scsi_scan.c

index 60b262d66b5b17f75b8cd1b2596780a9546c311b..f697229ae5a98a25b3620d114b1765a718c7c9fc 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: