Merging updates

- Peripheral odma could enter a dead state if a block larger than the
  ODMA buffer size was written. Thanks to @denravonska for reporting this.