drivers/sdcard: Raise exception on timeout of readinto.

Otherwise the code can get stuck in an infinite loop if the SD card fails
to respond to a read.
pull/5298/head
Jeremy Herbert 2019-11-04 01:25:16 -08:00 zatwierdzone przez Damien George
rodzic d209f9ebe7
commit 4f0f3dfb41
1 zmienionych plików z 4 dodań i 1 usunięć

Wyświetl plik

@ -172,10 +172,13 @@ class SDCard:
self.cs(0)
# read until start byte (0xff)
while True:
for i in range(_CMD_TIMEOUT):
self.spi.readinto(self.tokenbuf, 0xff)
if self.tokenbuf[0] == _TOKEN_DATA:
break
else:
self.cs(1)
raise OSError("timeout waiting for response")
# read data
mv = self.dummybuf_memoryview