What does NTSTATUS 0xC0420009 (STATUS_BTH_ATT_PREPARE_QUEUE_FULL) mean?

 
Previous Next
STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND

STATUS_BTH_ATT_PREPARE_QUEUE_FULL

A reliable-write transaction exceeded the server's temporary queue capacity

STATUS_BTH_ATT_PREPARE_QUEUE_FULL is ATT error 0x09. Prepare Write requests stage fragments for a later Execute Write decision; the server reports this code when it lacks room to queue another fragment.

This is more specific than a generic resource failure. The client may already have accepted fragments pending in the server, and an automatic retry can duplicate or reorder the transaction. ATT does not commit those prepared values until the Execute Write request, so the recovery path must account for the outstanding transaction state.

What to check

  • Track every prepared fragment: handle, offset, byte range, response, transaction identifier in the application, and whether Execute Write or Cancel has been sent.
  • Limit the number and total size of outstanding prepared writes; finish or cancel one transaction before starting another when the peripheral has a small queue.
  • After a disconnect or error, re-establish transaction state explicitly rather than assuming that the server retained or discarded queued fragments.

References


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