Hello, I am writing a SCSI HBA driver and one of the requirements is to asynchronously report the SCSI devices as and when they appear on the SAN. I have been using the ndi calls and see a few issues with it.
My driver rejects all tran_tgt_init calls that come down corresponding to the entries in the driver.conf. I do this to avoid duplicate nodes in the device tree. I accept tran_tgt_init calls for only the dip's that I created using the ndi_devi_alloc. This works fine most of the time. However, I see issues when my driver is the boot driver. In this case, my driver discovers the boot device and requests for a scsi probe using the ndi_devi_online_async call. Somehow, this scsi probe doesn't come down in time. The boot sequence starts off and does not find the boot device, since my driver had rejected the tran_tgt_init call for the boot device listed in driver.conf. If I wait long enough in my driver attach after making the ndi_devi_online_async call, I see that the scsi probe that I had requested comes down and the boot proceeds. How do I get around this random delay ? How can I make sure that the scsi probe that I request will complete before the boot sequence ? Regards, Gautam This message contains Emulex confidential information intended only for specific recipients and is not to be forwarded to anyone else. If you have received this message in error, please delete it immediately. Thank you.
_______________________________________________ driver-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/driver-discuss
