Что означает код NTSTATUS 0x8000A127 (STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED)?

 
Предыдущий Следующий
STATUS_DATA_LOST_REPAIR STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH

STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED

Что означает STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED

STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED означает, что драйвер или GpioClx получил запрос снять маску с GPIO interrupt, который уже находится в состоянии unmasked.

Что проверить

  • Зафиксируйте controller/pin и interrupt connection, к которым относится запрос.
  • Проверьте баланс mask/unmask на обычном пути, при отмене, suspend/resume и обработке ошибок.
  • Убедитесь, что два callback не управляют одним и тем же interrupt независимо.
  • Сравните состояние, которое считает текущим драйвер, с состоянием GpioClx/controller и найдите первый повторный unmask.

Как исправлять

Если операция должна быть идемпотентной внутри драйвера, проверяйте состояние до вызова framework, но не скрывайте гонку без исправления ownership и lifecycle.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.