fixes a race condition when reading qspi data register
This commit is contained in:
		@@ -66,9 +66,11 @@ static inline uint8_t spi_read(volatile qspi_t *qspi) {
 | 
			
		||||
  qspi->DATA = SPI_CMD_READ;
 | 
			
		||||
  while (spi_rsp_occupied(qspi) == 0)
 | 
			
		||||
    ;
 | 
			
		||||
  while ((qspi->DATA & 0x80000000) == 0)
 | 
			
		||||
    ;
 | 
			
		||||
  return qspi->DATA;
 | 
			
		||||
  int32_t data;
 | 
			
		||||
  do {
 | 
			
		||||
      data = qspi->DATA ;
 | 
			
		||||
  } while (data<0);
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void spi_select(volatile qspi_t *qspi, uint32_t slaveId) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user