I'm using edma for mcbsp and the video mini-driver. Mcbsp is configured first and calls EDMA_allocTable(-1) to get a pram table for reload for a circular buffer. It grabs table 0 since that happens to be the first available. The video mini-driver creates and deletes the video channel as needed. In the video mini-driver, mdCreateChan calls EDMA_allocTable(-1) as well. Sometimes when the channel is created, EDMA_allocTable(-1) returns a handle to table 0 which is already in use by the mcbsp. This of course causes the mcbsp to stop working properly. This doesn't seem to happen the first time the video channel is created, only after it's been deleted and re-created once or twice. As a work around I hardcode the mcbsp to use EDMA_allocTable(10) so that the video mini-driver doesn't grab the same one. This seems to work for now. Is there a bug in EDMA_allocTable? The mcbsp never frees the table so there shouldn't be a timing issue or anything like that. Is there a bug in the video mini-driver that could cause this? Is there a better work around to handle this?