diff --git a/orchagent/portsorch.cpp b/orchagent/portsorch.cpp index c20363f5b6..ece1fdd876 100755 --- a/orchagent/portsorch.cpp +++ b/orchagent/portsorch.cpp @@ -6088,7 +6088,7 @@ void PortsOrch::generateQueueMap(map queuesState { auto maxQueueNumber = getNumberOfPortSupportedQueueCounters(it.second.m_alias); FlexCounterQueueStates flexCounterQueueState(maxQueueNumber); - if (isCreateAllQueues) + if (isCreateAllQueues && maxQueueNumber) { flexCounterQueueState.enableQueueCounters(0, maxQueueNumber - 1); } @@ -6226,7 +6226,7 @@ void PortsOrch::addQueueFlexCounters(map queuesS { auto maxQueueNumber = getNumberOfPortSupportedQueueCounters(it.second.m_alias); FlexCounterQueueStates flexCounterQueueState(maxQueueNumber); - if (isCreateAllQueues) + if (isCreateAllQueues && maxQueueNumber) { flexCounterQueueState.enableQueueCounters(0, maxQueueNumber - 1); } @@ -6303,7 +6303,7 @@ void PortsOrch::addQueueWatermarkFlexCounters(map pgsSta { auto maxPgNumber = getNumberOfPortSupportedPgCounters(it.second.m_alias); FlexCounterPgStates flexCounterPgState(maxPgNumber); - if (isCreateAllPgs) + if (isCreateAllPgs && maxPgNumber) { flexCounterPgState.enablePgCounters(0, maxPgNumber - 1); } @@ -6602,7 +6602,7 @@ void PortsOrch::addPriorityGroupFlexCounters(map pg { auto maxPgNumber = getNumberOfPortSupportedPgCounters(it.second.m_alias); FlexCounterPgStates flexCounterPgState(maxPgNumber); - if (isCreateAllPgs) + if (isCreateAllPgs && maxPgNumber) { flexCounterPgState.enablePgCounters(0, maxPgNumber - 1); } @@ -6671,7 +6671,7 @@ void PortsOrch::addPriorityGroupWatermarkFlexCounters(map