This fixes the interrupt behavior of controllers which has flakey MMIO
behavior. For instance, SM961/PM961 SSDs are observed that the offsets
starting from 0x3084 within the memory region specified by BAR0 are
all read as 0. The changes are made in accord to the MSI-X
implementation of Illumos kernel.
Two non-exported functions are modified: pci_mask_msix() and
pci_unmask_msix().
A reference to a related bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211713