Просмотр исходного кода

[SCSI] fix refcounting bug in scsi_get_host_dev

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>
Alan Stern 15 лет назад
Родитель
Сommit
d5469119f0
1 измененных файлов с 2 добавлено и 3 удалено
  1. 2 3
      drivers/scsi/scsi_scan.c

+ 2 - 3
drivers/scsi/scsi_scan.c

@@ -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: