In reading the OpenMAX IL v1.1.1 spec (section 3.2.2.15), I believe that AllocateBuffer should return an error if the client calls AllocateBuffer when a port is enabled and the component is in the idle state.
However, the BufferTest conformance test (line 759 of OMX_CONF_BufferTest.c) performs this operation.
A port being enabled is not the same as bEnabled (in the port definition structure) being set. In the spec, we say:
It is the event handler command complete callback that indicates that the port is really enabled, not bEnabled. The conformance test is actually calling AllocateBuffer on a disabled port that is trying to become enabled. It can only really become enabled once it is populated, hence the AllocateBuffer calls.