stm32/sdio: Don't explicitly disable DMA2 on deinit of SDIO.

Because DMA2 may be in use by other peripherals, eg SPI1.

On PYBD-SF6 it's possible to trigger a bug in the existing code by turning
on WLAN and connecting to an AP, pinging the IP address from a PC and
running the following code on the PYBD:

    def spi_test(s):
        while 1:
            s.write('test')
            s.read(4)

    spi_test(machine.SPI(1,100000000))

This will eventually fail with `OSError: [Errno 110] ETIMEDOUT` because
DMA2 was turned off by the CYW43 driver during the SPI1 transfer.

This commit fixes the bug by removing the code that explicitly disables
DMA2.  Instead DMA2 will be automatically disabled after an inactivity
timeout, see commit a96afae90f

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George 2021-11-15 14:39:32 +11:00
parent e83aa252f7
commit dfa75f33a5

View File

@ -134,9 +134,6 @@ void sdio_init(uint32_t irq_pri) {
void sdio_deinit(void) { void sdio_deinit(void) {
SDMMC_CLK_DISABLE(); SDMMC_CLK_DISABLE();
#if defined(STM32F7)
__HAL_RCC_DMA2_CLK_DISABLE();
#endif
} }
void sdio_reenable(void) { void sdio_reenable(void) {