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>
pull/7991/head
Damien George 2021-11-15 14:39:32 +11:00
rodzic e83aa252f7
commit dfa75f33a5
1 zmienionych plików z 0 dodań i 3 usunięć

Wyświetl plik

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