Bus Master DMA with IDE miniport

I wrote an IDE miniport driver to use the bus master DMA capabilities of
the PC’s on board controller. In this particular case the controller is
the Intel 82371AB chip. I am performing the following steps: Setup the SGL
and write it to the Descriptor Table Pointer register of the 82372AB.
Program the drives task file to perform an ATA READ DMA operation. Then I
set the direction and start bit within the command register. Simple enough
right? But it never seems to transfer data and I always get a time out.
The drive is a UDMA/133 drive and the bus master controller is setup up
for UDMA mode 2. The drive is the master on the secondary controller.

Any ideas?