From a42e30f394b809ad3df10586fc3148193f37cc41 Mon Sep 17 00:00:00 2001 From: Zinong Li <131403964+zinongli@users.noreply.github.com> Date: Thu, 6 Nov 2025 22:45:52 +0400 Subject: [PATCH] NFC FeliCa Minor Fix: `FelicaPollerEventType` should only be `Incomplete` if the tag is FeliCa Lite (#4279) * poller read is only incomp if in Lite workflow * another small fix for the "255/28 pages read" bug --------- Co-authored-by: hedger --- lib/nfc/protocols/felica/felica_poller.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/nfc/protocols/felica/felica_poller.c b/lib/nfc/protocols/felica/felica_poller.c index 98e07df42..056ed4320 100644 --- a/lib/nfc/protocols/felica/felica_poller.c +++ b/lib/nfc/protocols/felica/felica_poller.c @@ -486,9 +486,12 @@ NfcCommand felica_poller_state_handler_read_lite_blocks(FelicaPoller* instance) NfcCommand felica_poller_state_handler_read_success(FelicaPoller* instance) { FURI_LOG_D(TAG, "Read Success"); - if(!instance->auth.context.auth_status.internal || - !instance->auth.context.auth_status.external) { - instance->data->blocks_read--; + if((!instance->auth.context.auth_status.internal || + !instance->auth.context.auth_status.external) && + instance->data->workflow_type == FelicaLite) { + if(instance->data->blocks_read != 0) { + instance->data->blocks_read--; + } instance->felica_event.type = FelicaPollerEventTypeIncomplete; } else { memcpy(