Skip to content

Commit a6be90f

Browse files
committed
SD: avoid timeout lock if millis() approaches 2^16
this is a rework of @Timmmm 's PR #1977
1 parent 8ce8b72 commit a6be90f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

libraries/SD/src/utility/Sd2Card.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ uint8_t Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) {
283283

284284
// command to go idle in SPI mode
285285
while ((status_ = cardCommand(CMD0, 0)) != R1_IDLE_STATE) {
286-
if (((uint16_t)millis() - t0) > SD_INIT_TIMEOUT) {
286+
if (((uint16_t)(millis() - t0)) > SD_INIT_TIMEOUT) {
287287
error(SD_CARD_ERROR_CMD0);
288288
goto fail;
289289
}
@@ -305,7 +305,7 @@ uint8_t Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) {
305305

306306
while ((status_ = cardAcmd(ACMD41, arg)) != R1_READY_STATE) {
307307
// check for timeout
308-
if (((uint16_t)millis() - t0) > SD_INIT_TIMEOUT) {
308+
if (((uint16_t)(millis() - t0)) > SD_INIT_TIMEOUT) {
309309
error(SD_CARD_ERROR_ACMD41);
310310
goto fail;
311311
}

0 commit comments

Comments
 (0)