Semaphore Locking the DMA setup

This might help solve a potential race condition whereby the priv->rxresult/priv->txresult is reset to 0 before handled by the dmarxwait