From 2e56289b0b36569d39ca7536069efde956950d7e Mon Sep 17 00:00:00 2001 From: Aleksandar Janicijevic Date: Fri, 20 Feb 2026 10:53:32 -0500 Subject: [PATCH 1/2] Quick fix for the code that populates all AI NIC devices --- projects/amdsmi/src/amd_smi/amd_smi_system.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/projects/amdsmi/src/amd_smi/amd_smi_system.cc b/projects/amdsmi/src/amd_smi/amd_smi_system.cc index ec44a2dbacd..c6612230cdc 100644 --- a/projects/amdsmi/src/amd_smi/amd_smi_system.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi_system.cc @@ -284,12 +284,14 @@ amdsmi_status_t AMDSmiSystem::init(uint64_t flags) { } #endif if (flags & AMDSMI_INIT_AMD_NICS) { +#ifdef BRCM_NIC amd_smi_status = populate_brcm_nic_devices(); if (amd_smi_status != AMDSMI_STATUS_SUCCESS) return amd_smi_status; amd_smi_status = populate_brcm_switch_devices(); if (amd_smi_status != AMDSMI_STATUS_SUCCESS) return amd_smi_status; +#endif amd_smi_status = populate_amd_ainic_devices(); if (amd_smi_status != AMDSMI_STATUS_SUCCESS) return amd_smi_status; From bbd48e8b87c1b7b4d93d9faf6ed28cc4be2f0885 Mon Sep 17 00:00:00 2001 From: Sajina Kandy Date: Fri, 20 Feb 2026 15:44:46 -0500 Subject: [PATCH 2/2] When no NIC found resturn success --- projects/amdsmi/src/amd_smi/amd_smi_system.cc | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/projects/amdsmi/src/amd_smi/amd_smi_system.cc b/projects/amdsmi/src/amd_smi/amd_smi_system.cc index c6612230cdc..27cc2f7946d 100644 --- a/projects/amdsmi/src/amd_smi/amd_smi_system.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi_system.cc @@ -284,14 +284,12 @@ amdsmi_status_t AMDSmiSystem::init(uint64_t flags) { } #endif if (flags & AMDSMI_INIT_AMD_NICS) { -#ifdef BRCM_NIC amd_smi_status = populate_brcm_nic_devices(); if (amd_smi_status != AMDSMI_STATUS_SUCCESS) return amd_smi_status; amd_smi_status = populate_brcm_switch_devices(); if (amd_smi_status != AMDSMI_STATUS_SUCCESS) return amd_smi_status; -#endif amd_smi_status = populate_amd_ainic_devices(); if (amd_smi_status != AMDSMI_STATUS_SUCCESS) return amd_smi_status; @@ -496,10 +494,15 @@ amdsmi_status_t AMDSmiSystem::populate_brcm_nic_devices() { #ifdef BRCM_NIC uint32_t device_count = 0; amdsmi_status_t amd_smi_status = no_drm_nic.init(); - + if (amd_smi_status != AMDSMI_STATUS_SUCCESS) { + // No NIC driver/support present (e.g. CI without NIC hardware) - not fatal + return AMDSMI_STATUS_SUCCESS; + } + rsmi_status_t ret = rsmi_num_nic_monitor_devices(&device_count); if (ret != RSMI_STATUS_SUCCESS) { - return amd::smi::rsmi_to_amdsmi_status(ret); + // No NIC devices or driver not available - not fatal, continue with empty list + return AMDSMI_STATUS_SUCCESS; } for (uint32_t i = 0; i < device_count; i++) { @@ -563,9 +566,15 @@ amdsmi_status_t AMDSmiSystem::populate_brcm_switch_devices() { #ifdef BRCM_NIC uint32_t device_count = 0; amdsmi_status_t amd_smi_status = no_drm_switch.init(); + if (amd_smi_status != AMDSMI_STATUS_SUCCESS) { + // No switch driver/support present (e.g. CI without NIC hardware) - not fatal + return AMDSMI_STATUS_SUCCESS; + } + rsmi_status_t ret = rsmi_num_switch_monitor_devices(&device_count); if (ret != RSMI_STATUS_SUCCESS) { - return amd::smi::rsmi_to_amdsmi_status(ret); + // No switch devices or driver not available - not fatal, continue with empty list + return AMDSMI_STATUS_SUCCESS; } for (uint32_t i = 0; i < device_count; i++) {