Что означает код возврата ядра macOS 0xE0008103 (kIOFireWireHardwareSlept)?

 
Предыдущий Следующий
kIOFireWireTalkingAndListening kIOFireWireCompleting

kIOFireWireHardwareSlept

Контроллер не находится в активном состоянии ввода-вывода

kIOFireWireHardwareSlept сообщает о переходе оборудования FireWire в спящий режим. Это состояние питания контроллера, а не ответ протокола удалённого узла. На незавершённую работу также могут повлиять сброс шины, повторное перечисление устройств и порядок обратных вызовов после возобновления работы оборудования.

Важно отделить работу, завершённую до сна, от операций с неопределённым результатом. При возобновлении следует восстановить состояние контроллера и топологии через управляющий API, а не считать сохранённые идентификаторы узлов, зарегистрированные контексты или выделенные ресурсы по-прежнему действительными.

Сопоставьте состояние питания и ввода-вывода

  • Запишите время сна и пробуждения, контроллер, открытых клиентов, незавершённые запросы и все события сброса или изменения топологии около перехода.
  • Если API позволяет, прекратите отправку запросов до завершения, и отличайте явно отменённые операции от прерванных сном.
  • После пробуждения подтвердите текущее поколение шины и идентичность целевого устройства перед повторным использованием рабочих контекстов.
  • Не считайте пробуждение доказательством, что прерванная транзакция завершилась или отказала на удалённом устройстве.

Ссылки


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