A method for controlling a plurality of transactions from a first bus to a second bus through a bridge, in a data processing system comprising one or more processors, one or more peripheral devices, a plurality of busses connecting the one or more processors and the one or more peripheral devices through one or more bridges, and one or more bridges for controlling transactions between the first bus and the second bus of the plurality of busses, said method comprising the steps of:
- providing a first data path for handling transactions from the first bus to the second bus;
- providing a second data path for handling transactions from the second bus to the first bus;
- providing a controller for controlling gating and sequence of transactions between the first bus and the second bus through the first data path and the second data path;
- and
- controlling, by the controller, read transactions and write transactions through the first and second data paths in accordance with a predetermined logic structure to eliminate flushing write buffers prior to read transactions being gated through the data paths.