> struct Scsi_Host *scsi_host_lookup(unsigned short hostnum) > { > - struct device *cdev; > - struct Scsi_Host *shost = NULL; > - > - cdev = class_find_device(&shost_class, NULL, &hostnum, > - __scsi_host_match); > - if (cdev) { > - shost = scsi_host_get(class_to_shost(cdev)); > - put_device(cdev); > - } > + struct Scsi_Host *shost; > + > + spin_lock(&host_index_lock); > + shost = idr_find(&host_index_idr, hostnum); > + spin_unlock(&host_index_lock); > + > return shost; How does this actually grab a reference to the host? -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html