git: fb4e7898a359 - main - Revert "nvme: Only attach to storage NVMe devices"

From: Warner Losh <imp_at_FreeBSD.org>
Date: Thu, 14 May 2026 15:36:45 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=fb4e7898a359a5044e6794c7fe8a698d29af1fd3

commit fb4e7898a359a5044e6794c7fe8a698d29af1fd3
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-05-14 15:35:35 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-05-14 15:35:35 +0000

    Revert "nvme: Only attach to storage NVMe devices"
    
    This reverts commit 0a19464bf7afa35ce2aa7649152bc3a7629faa98. It's
    incorrect for ahci attachments. Reverting to merge to stable/15
    to merge to releng/15.1 for the release.
    
    Sponsored by:           Netflix
---
 sys/cam/cam_ccb.h       | 2 +-
 sys/dev/nvme/nvme_sim.c | 9 +--------
 2 files changed, 2 insertions(+), 9 deletions(-)

diff --git a/sys/cam/cam_ccb.h b/sys/cam/cam_ccb.h
index cedb3a9ad61c..e0516fb37850 100644
--- a/sys/cam/cam_ccb.h
+++ b/sys/cam/cam_ccb.h
@@ -651,7 +651,7 @@ struct ccb_pathinq_settings_nvme {
 	uint8_t  bus;
 	uint8_t  slot;
 	uint8_t  function;
-	uint8_t  progif;
+	uint8_t  extra;
 	char	 dev_name[NVME_DEV_NAME_LEN]; /* nvme controller dev name for this device */
 };
 _Static_assert(sizeof(struct ccb_pathinq_settings_nvme) == 64,
diff --git a/sys/dev/nvme/nvme_sim.c b/sys/dev/nvme/nvme_sim.c
index b9f09c8d1f61..a6ba1a498185 100644
--- a/sys/dev/nvme/nvme_sim.c
+++ b/sys/dev/nvme/nvme_sim.c
@@ -208,7 +208,7 @@ nvme_sim_action(struct cam_sim *sim, union ccb *ccb)
 		cpi->xport_specific.nvme.bus = pci_get_bus(dev);
 		cpi->xport_specific.nvme.slot = pci_get_slot(dev);
 		cpi->xport_specific.nvme.function = pci_get_function(dev);
-		cpi->xport_specific.nvme.progif = pci_get_progif(dev);
+		cpi->xport_specific.nvme.extra = 0;
 		strlcpy(cpi->xport_specific.nvme.dev_name, device_get_nameunit(dev),
 		    sizeof(cpi->xport_specific.nvme.dev_name));
 		cpi->hba_vendor = pci_get_vendor(dev);
@@ -314,13 +314,6 @@ nvme_sim_probe(device_t dev)
 {
 	if (nvme_use_nvd)
 		return (ENXIO);
-	/*
-	 * Only do storage devices with CAM. NVMHCI 1.0 interfaces are the only
-	 * ones that have namespaces with LBA ranges on them.
-	 */
-	if (pci_get_progif(device_get_parent(dev)) !=
-	    PCIP_STORAGE_NVM_ENTERPRISE_NVMHCI_1_0)
-		return (ENXIO);
 
 	device_set_desc(dev, "nvme cam");
 	return (BUS_PROBE_DEFAULT);