What does NTSTATUS 0xC000A121 (STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED) mean?

 
Previous Next
STATUS_HASH_NOT_PRESENT STATUS_GPIO_CLIENT_INFORMATION_INVALID

STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED

The interrupt maps to a secondary controller whose provider is unavailable

STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED concerns the Windows model for secondary interrupt controllers. Microsoft distinguishes primary interrupts, whose global system interrupt vectors are provided by firmware/ACPI, from secondary interrupts such as GPIO interrupts whose GSIVs can be assigned dynamically by the operating system. A secondary controller provider must participate so the interrupt can be represented and serviced.

The status is therefore not equivalent to “no ISR installed.” The failure occurs at the interrupt-controller/provider layer. In PoFx/PEP interfaces, the request-interrupt callback documentation explicitly distinguishes primary GSIVs obtained from ACPI from secondary GPIO GSIVs assigned by Windows.

What to inspect

  • The GSIV and whether the resource describes a primary or secondary interrupt.
  • The secondary interrupt-controller instance expected to manage the interrupt.
  • Provider/PEP registration order and whether registration completed before the consumer requested the interrupt.
  • ACPI/GPIO resource descriptors that identify the interrupt connection and controller path.

Retrying interrupt connection in the consumer driver cannot compensate for a provider that never registered. Establish which controller owns the secondary interrupt, confirm its provider is active, and then verify the consumer's resource maps to that registered controller instance.

References


Looking for a different code? Search another status or error code.