struct scsi_device * __scsi_device_lookup_by_target (struct scsi_target * starget, uint lun);
Looks up the scsi_device with the specified lun for a give starget. The returned scsi_device does not have an additional reference. You must hold the host's host_lock over this call and any access to the returned scsi_device.
The only reason why drivers would want to use this is because they're need to access the device list in irq context. Otherwise you really want to use scsi_device_lookup_by_target instead.