From 534fe2fb263177b414d0381b4ee52e5d99feb341 Mon Sep 17 00:00:00 2001 From: Georgii Surkov Date: Thu, 8 Feb 2024 14:50:14 +0300 Subject: [PATCH] Remove too optimistic furi_check, replace with condition --- applications/services/expansion/expansion.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/applications/services/expansion/expansion.c b/applications/services/expansion/expansion.c index abfd1971b..99cdd984f 100644 --- a/applications/services/expansion/expansion.c +++ b/applications/services/expansion/expansion.c @@ -144,10 +144,8 @@ static void expansion_control_handler_set_listen_serial( static void expansion_control_handler_module_connected( Expansion* instance, const ExpansionMessageData* data) { - furi_check(instance->state != ExpansionStateDisabled); UNUSED(data); - - if(instance->state == ExpansionStateRunning) { + if(instance->state != ExpansionStateEnabled) { return; } @@ -164,15 +162,14 @@ static void expansion_control_handler_module_disconnected( Expansion* instance, const ExpansionMessageData* data) { UNUSED(data); - // This condition should be always true, but in some rare edge cases - // it is possible to change the settings while the module was being - // disconnected, hence the additional check. - if(instance->state == ExpansionStateRunning) { - instance->state = ExpansionStateEnabled; - expansion_worker_free(instance->worker); - furi_hal_serial_control_set_expansion_callback( - instance->serial_id, expansion_detect_callback, instance); + if(instance->state != ExpansionStateRunning) { + return; } + + instance->state = ExpansionStateEnabled; + expansion_worker_free(instance->worker); + furi_hal_serial_control_set_expansion_callback( + instance->serial_id, expansion_detect_callback, instance); } typedef void (*ExpansionControlHandler)(Expansion*, const ExpansionMessageData*);