It is a common occurrence for people to change the HBA driver timeouts and in some cases, the Queue depth settings on ESX server to values suggested by their Storage vendors. On ESX server this is done by using the "esxcfg-module" command followed by a subsequent server reboot for the new value to take effect.
One thing though that people don't realize is that the parameters are not additive to what already has been set.
For example, if I had previously set the Qlogic driver timeout parameter, qlport_down_retry, and then at a later time I decide to change the default queue depth parameter, ql2xmaxqdepth, I must specify both parameters as part of "esxcfg-module" command otherwise the qlport_down_retry value will revert to its default value.
So the proper way to set either one of the values, even if you need to modify one of them is to specify both. This applies to both Qlogic and Emulex.
#esxcfg-module –s "qlport_down_retry=X ql2xmaxqdepth=X" qla2300_707_vmw.o
For NetApp, the HBA driver timeouts are set by the ESX Host Utility Kit (HUK) and depending on ONTAP release, the driver timeouts range between 10" and 60". Anything above ONTAP 7.2.4 (inclusive) using Single System Image Cluster Failover Mode uses a 10" timeout. This setting applies to both Qlogic and Emulex.

