>  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-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to