Symptoms:
The ESXi hosts upgraded to vsphere 6.7 or 7.0 might experience an issue detecting the qlogic adapters.
During the boot time, the host reportes invalid module parameter for the qlnativefc in the vmkernel logs
YYYY-MM-DDTHH:MM:SS.Z cpu##:2098103)Loading module qlnativefc ...
YYYY-MM-DDTHH:MM:SS.Z cpu##:2098103)Elf: 2101: module qlnativefc has license BSD
[7m YYYY-MM-DDTHH:MM:SS.Z cpu##:2098103)WARNING: Elf: 512: Fixed strtoul conversion failure[0m
[7m YYYY-MM-DDTHH:MM:SS.Z cpu##:2098103)WARNING: Elf: 3144: Kernel based module load of qlnativefc failed: Bad parameter <ElfParseModuleParams failed>[0m
YYYY-MM-DDTHH:MM:SS.Z cpu##:2098104)Loading module qlnativefc ...
YYYY-MM-DDTHH:MM:SS.Z cpu##:2098104)Elf: 2101: module qlnativefc has license BSD
[7m YYYY-MM-DDTHH:MM:SS.Z cpu##:2098104)WARNING: Elf: 512: Fixed strtoul conversion failure[0m
[7m YYYY-MM-DDTHH:MM:SS.Z cpu##:2098104)WARNING: Elf: 3144: Kernel based module load of qlnativefc failed: Bad parameter <ElfParseModuleParams failed>[0m
From the /etc/vmware/esx.conf file, we do see that the specific module parameter was being set:
/vmkernel/module/qlnativefc/options = "qlfxmaxqdepth=64
Remove the obsolete module parameter by using the following command:
esxcfg-module -s "ql2xextended_error_logging=0" qlnativefc
Then reboot the host.
Note: There is no functionality lost by removing this parameter.