MSIX is always masked

Hi

We have a SSD card that works fine on Linux. On Windows we have two situations:

  1. If the motherboard does not have a BIOS NVME driver then our board works fine on that motherboard.
  2. if motherboard does have a BIOS NVME driver, then it opens our device to determine if it is bootable, then closes the device. Once windows boots up, Microsoft’s stornvme.sys gets loaded and it tries to open our device. The problem is that at this point the MSIX interrupt is masked out in BAR0 space. We have no idea why this is so. Since MSIX intr location in BAR0 is read only for our device we can’t change it. Hence we can’t post our interrupts and stornvme.sys fails our device.

Any pointers on how to resolve this issue?

TIA