Commit b7bb125d authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

SCSI: use the proper semaphore to protect the class lists



SCSI was using the incorrect lock to protect walking the list of all
devices in the class.  This patch fixes this.

Cc: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 49f019d6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -435,7 +435,7 @@ struct Scsi_Host *scsi_host_lookup(unsigned short hostnum)
	struct class_device *cdev;
	struct Scsi_Host *shost = ERR_PTR(-ENXIO), *p;

	down_read(&class->subsys.rwsem);
	down(&class->sem);
	list_for_each_entry(cdev, &class->children, node) {
		p = class_to_shost(cdev);
		if (p->host_no == hostnum) {
@@ -443,7 +443,7 @@ struct Scsi_Host *scsi_host_lookup(unsigned short hostnum)
			break;
		}
	}
	up_read(&class->subsys.rwsem);
	up(&class->sem);

	return shost;
}