Skip to content

Commit 8b760a1

Browse files
Adds fix for BLE task priority and indication soft timer expiry
1 parent 8266ddc commit 8b760a1

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/platform/silabs/rs911x/BLEManagerImpl.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ CHIP_ERROR BLEManagerImpl::_Init()
253253
sl_rs_ble_init_sem = osSemaphoreNew(1, 0, NULL);
254254
sl_ble_event_sem = osSemaphoreNew(1, 0, NULL);
255255

256-
wfx_rsi.ble_task = xTaskCreateStatic((TaskFunction_t) sl_ble_event_handling_task, "rsi_ble", WFX_RSI_TASK_SZ, NULL, 1,
256+
wfx_rsi.ble_task = xTaskCreateStatic((TaskFunction_t) sl_ble_event_handling_task, "rsi_ble", WFX_RSI_TASK_SZ, NULL, 2,
257257
wfxBLETaskStack, &rsiBLETaskStruct);
258258

259259
if (wfx_rsi.ble_task == NULL)
@@ -419,7 +419,6 @@ void BLEManagerImpl::_OnPlatformEvent(const ChipDeviceEvent * event)
419419

420420
case DeviceEventType::kCHIPoBLEIndicateConfirm: {
421421
ChipLogProgress(DeviceLayer, "_OnPlatformEvent kCHIPoBLEIndicateConfirm");
422-
DeviceLayer::SystemLayer().CancelTimer(OnSendIndicationTimeout, this);
423422
HandleIndicationConfirmation(event->CHIPoBLEIndicateConfirm.ConId, &CHIP_BLE_SVC_ID, &Ble::CHIP_BLE_CHAR_2_UUID);
424423
}
425424
break;
@@ -924,6 +923,8 @@ void BLEManagerImpl::HandleRXCharWrite(rsi_ble_event_write_t * evt)
924923

925924
void BLEManagerImpl::HandleTxConfirmationEvent(BLE_CONNECTION_OBJECT conId)
926925
{
926+
// stop the indication confirmation timer
927+
DeviceLayer::SystemLayer().CancelTimer(OnSendIndicationTimeout, this);
927928
ChipDeviceEvent event;
928929
event.Type = DeviceEventType::kCHIPoBLEIndicateConfirm;
929930
event.CHIPoBLEIndicateConfirm.ConId = conId;

0 commit comments

Comments
 (0)