This is definitely one of the most frustrating aspects of working within the TPM ecosystem. Sure the spec is messy, and doing simple things can feel needlessly complicated, but when you run into some firmware bug, it's horrible to debug, and the best you can really do is file a ticket with Intel/AMI/whoever and pray for something to change.