diff --git a/scripts/kwboot.c b/scripts/kwboot.c index e068660..46328d8 100644 --- a/scripts/kwboot.c +++ b/scripts/kwboot.c @@ -376,21 +376,23 @@ } while (c == NAK && retries-- > 0); - rc = -1; + if (!rc) { + rc = -1; - switch (c) { - case ACK: - rc = 0; - break; - case NAK: - errno = EBADMSG; - break; - case CAN: - errno = ECANCELED; - break; - default: - errno = EPROTO; - break; + switch (c) { + case ACK: + rc = 0; + break; + case NAK: + errno = EBADMSG; + break; + case CAN: + errno = ECANCELED; + break; + default: + errno = EPROTO; + break; + } } return rc;