nvme: don't try to enable intel log pages on fabrics ctrlrs

By default, the SPDK nvmf target reports vid==INTEL,
which results in the SPDK nvme driver trying to enable
Intel vendor-specific log page.  Fix this by trying to
enable those log pages only for PCIE transport
controllers.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I78ebf365d4fa6295d1f610697266c3ead765988d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13524
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
This commit is contained in:
Jim Harris 2022-06-30 22:14:01 +00:00 committed by Tomasz Zawadzki
parent 988ce2ecaa
commit 05dce1ee78
2 changed files with 4 additions and 1 deletions

View File

@ -886,7 +886,9 @@ nvme_ctrlr_set_supported_log_pages(struct spdk_nvme_ctrlr *ctrlr)
} }
} }
if (ctrlr->cdata.vid == SPDK_PCI_VID_INTEL && !(ctrlr->quirks & NVME_INTEL_QUIRK_NO_LOG_PAGES)) { if (ctrlr->cdata.vid == SPDK_PCI_VID_INTEL &&
ctrlr->trid.trtype == SPDK_NVME_TRANSPORT_PCIE &&
!(ctrlr->quirks & NVME_INTEL_QUIRK_NO_LOG_PAGES)) {
nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_SET_SUPPORTED_INTEL_LOG_PAGES, nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_SET_SUPPORTED_INTEL_LOG_PAGES,
ctrlr->opts.admin_timeout_ms); ctrlr->opts.admin_timeout_ms);

View File

@ -3068,6 +3068,7 @@ test_nvme_ctrlr_set_intel_supported_log_pages(void)
ctrlr.opts.admin_timeout_ms = NVME_TIMEOUT_INFINITE; ctrlr.opts.admin_timeout_ms = NVME_TIMEOUT_INFINITE;
ctrlr.cdata.vid = SPDK_PCI_VID_INTEL; ctrlr.cdata.vid = SPDK_PCI_VID_INTEL;
ctrlr.trid.trtype = SPDK_NVME_TRANSPORT_PCIE;
ctrlr.state = NVME_CTRLR_STATE_SET_SUPPORTED_LOG_PAGES; ctrlr.state = NVME_CTRLR_STATE_SET_SUPPORTED_LOG_PAGES;
CU_ASSERT(nvme_ctrlr_process_init(&ctrlr) == 0); CU_ASSERT(nvme_ctrlr_process_init(&ctrlr) == 0);