The isp(4) driver and ispfw(4) gained firmware for the 27XX and 28XX controllers in revision b0c6b06836351b3908ba5b2a847c89c42d1a46c3
The 9.x Qlogic firmware adds login state for NVMe devices in the top nibble of the login state variables in the port database (isp_pdb_24xx_t in ispmbox.h).
This breaks the check at the end of isp_getpdb() to make sure the device is in the right login state. As a result, it breaks device discovery for many (perhaps all?) FC devices. In my testing with IBM LTO-6 drives attached to a quad port 16Gb Qlogic 2714, they don't show up when they are directly connected (and in loop mode) or connected via a switch (and in fabric mode).
So, mask off the top bits of of the login state before checking it. For now, we're ignoring the NVMe state bits. I suspect there is more that would need to be done in the driver to support NVMe devices, but I don't have newer specs to confirm that. I figured out the top bits are now used for NVMe devices by looking at the Qlogic Linux driver.
This shouldn't break anything in the isp(4) driver, because all of the existing defined PDB states occupy the low nibble.