diff --git a/source/Service_Libs/fhss/fhss_ws.c b/source/Service_Libs/fhss/fhss_ws.c index 3d9d479fd75..211f4768944 100644 --- a/source/Service_Libs/fhss/fhss_ws.c +++ b/source/Service_Libs/fhss/fhss_ws.c @@ -365,9 +365,13 @@ static int fhss_ws_tx_handle_callback(const fhss_api_t *api, bool is_broadcast_a if (!fhss_structure) { return -1; } - if (is_broadcast_addr || (fhss_structure->ws->is_on_bc_channel == true)) { + if (is_broadcast_addr) { return 0; } + // Do not allow unicast destination on broadcast channel + if (!is_broadcast_addr && (fhss_structure->ws->is_on_bc_channel == true)) { + return -1; + } // Check TX/RX slot if (!fhss_ws_check_tx_allowed(fhss_structure)) { return -1;