Circuits, apparatus, and methods for avoiding deadlock conditions in a bus
fabric. One exemplary embodiment provides an address decoder for
determining whether a received posted request is a peer-to-peer request.
If it is, the posted request is sent as a non-posted request. A limit on
the number of pending non-posted requests is maintained and not exceed,
such that deadlock is avoided. Another exemplary embodiment provides an
arbiter that tracks a number of pending posted requests. When the number
pending posted requests reaches a predetermined or programmable level, a
Block Peer-to-Peer signal is sent to the arbiter's clients, again
avoiding deadlock.