The documentation for tearing down a dma channel is confusing. Is there example source somewhere that works? It looks like you need to allocate a teardown descriptor and post it to the teardown queue before following the steps in sprufm9f, but the procedure for telling the dma controller which queue is the teardown queue isn't described anywhere.
The technical documents for this part have been pretty good, but the write up on the usb dma controller particularly blows.