1) Revert the inherited dma bug from the stm32
see df9ae3c13f
for details.
2) Most all CR1-CR3 settings can not be configured while UE
is true. Threfore we make all operation atomic and disable
UE and restore it's originalstate on exit.
N.B. This backport omits all upstream breaking changes.