Skip to content

Commit b48cda0

Browse files
Juha Heiskanenjuhhei01
authored andcommitted
Impelement LLC reset
1 parent 47458c8 commit b48cda0

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

source/6LoWPAN/ws/ws_llc_data_service.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,8 +669,19 @@ int8_t ws_llc_create(struct protocol_interface_info_entry *interface, ws_asynch_
669669

670670
void ws_llc_reset(struct protocol_interface_info_entry *interface)
671671
{
672-
(void)interface;
672+
llc_data_base_t *base = ws_llc_discover_by_interface(interface);
673+
if (!base) {
674+
return;
675+
}
673676
//Clean Message queue's
677+
mcps_purge_t purge_req;
678+
ns_list_foreach_safe(llc_message_t, message, &base->llc_message_list) {
679+
purge_req.msduHandle = message->msg_handle;
680+
llc_message_free(message, base);
681+
base->interface_ptr->mac_api->mcps_purge_req(base->interface_ptr->mac_api, &purge_req);
682+
683+
}
684+
memset(&base->ie_params, 0, sizeof(llc_ie_params_t));
674685
}
675686

676687
int8_t ws_llc_asynch_request(struct protocol_interface_info_entry *interface, asynch_request_t *request)

0 commit comments

Comments
 (0)