Index: nvme_pci.c =================================================================== RCS file: /cvs/src/sys/dev/pci/nvme_pci.c,v retrieving revision 1.5 diff -u -p -r1.5 nvme_pci.c --- nvme_pci.c 10 Nov 2016 11:56:41 -0000 1.5 +++ nvme_pci.c 3 Jul 2017 06:32:17 -0000 @@ -77,6 +77,10 @@ nvme_pci_match(struct device *parent, vo return (0); } +static const struct pci_matchid nvme_msi_blacklist[] = { + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_OPTANE }, +}; + void nvme_pci_attach(struct device *parent, struct device *self, void *aux) { @@ -89,6 +93,9 @@ nvme_pci_attach(struct device *parent, s psc->psc_pc = pa->pa_pc; sc->sc_dmat = pa->pa_dmat; + + if (pci_matchbyid(pa, nvme_msi_blacklist, nitems(nvme_msi_blacklist))) + CLR(pa->pa_flags, PCI_FLAGS_MSI_ENABLED); maptype = pci_mapreg_type(pa->pa_pc, pa->pa_tag, NVME_PCI_BAR); if (pci_mapreg_map(pa, NVME_PCI_BAR, maptype, 0, Index: pcidevs =================================================================== RCS file: /cvs/src/sys/dev/pci/pcidevs,v retrieving revision 1.1820 diff -u -p -r1.1820 pcidevs --- pcidevs 2 Jun 2017 16:04:11 -0000 1.1820 +++ pcidevs 3 Jul 2017 06:32:17 -0000 @@ -3718,6 +3718,7 @@ product INTEL WL_3168_1 0x24fb Dual Ban product INTEL WL_8265_1 0x24fd Dual Band Wireless-AC 8265 product INTEL 82820_HB 0x2501 82820 Host product INTEL 82820_AGP 0x250f 82820 AGP +product INTEL OPTANE 0x2522 Optane product INTEL 82850_HB 0x2530 82850 Host product INTEL 82860_HB 0x2531 82860 Host product INTEL 82850_AGP 0x2532 82850/82860 AGP Index: pcidevs.h =================================================================== RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v retrieving revision 1.1814 diff -u -p -r1.1814 pcidevs.h --- pcidevs.h 2 Jun 2017 16:04:36 -0000 1.1814 +++ pcidevs.h 3 Jul 2017 06:32:17 -0000 @@ -3723,6 +3723,7 @@ #define PCI_PRODUCT_INTEL_WL_8265_1 0x24fd /* Dual Band Wireless-AC 8265 */ #define PCI_PRODUCT_INTEL_82820_HB 0x2501 /* 82820 Host */ #define PCI_PRODUCT_INTEL_82820_AGP 0x250f /* 82820 AGP */ +#define PCI_PRODUCT_INTEL_OPTANE 0x2522 /* Optane */ #define PCI_PRODUCT_INTEL_82850_HB 0x2530 /* 82850 Host */ #define PCI_PRODUCT_INTEL_82860_HB 0x2531 /* 82860 Host */ #define PCI_PRODUCT_INTEL_82850_AGP 0x2532 /* 82850/82860 AGP */ Index: pcidevs_data.h =================================================================== RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v retrieving revision 1.1808 diff -u -p -r1.1808 pcidevs_data.h --- pcidevs_data.h 2 Jun 2017 16:04:36 -0000 1.1808 +++ pcidevs_data.h 3 Jul 2017 06:32:17 -0000 @@ -12388,6 +12388,10 @@ static const struct pci_known_product pc "82820 AGP", }, { + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_OPTANE, + "Optane", + }, + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82850_HB, "82850 Host", },