espressif/qemu

SPI master device never updates `trans_done`

amirgon opened this issue · 1 comments

trans_done is defined in spi_struct.h as following:

            uint32_t trans_done:   1;                       /*The interrupt raw bit for the completion of any operation in both the master mode and the slave mode.*/

Although it's defined under "slave" member in spi_dev_t, it is documented as an indication for both master and slave modes.

esp-idf polls trans_done on spi_device_polling_end in spi_master.c and enters an infinite loop on QEMU since the QEMU SPI master device never updates it...


Tried to open a PR (#40) with a suggested fix, but some bot closed it. 😒