diff --git a/lispBM/lispif.c b/lispBM/lispif.c index df1f88b6..dce4f162 100644 --- a/lispBM/lispif.c +++ b/lispBM/lispif.c @@ -35,7 +35,7 @@ #define LISP_MEM_BITMAP_SIZE LBM_MEMORY_BITMAP_SIZE_16K #define GC_STACK_SIZE 160 #define PRINT_STACK_SIZE 128 -#define EXTENSION_STORAGE_SIZE 260 +#define EXTENSION_STORAGE_SIZE 270 #define VARIABLE_STORAGE_SIZE 50 #define EXT_LOAD_CALLBACK_LEN 20 #define PROF_DATA_NUM 30 diff --git a/lispBM/lispif_vesc_extensions.c b/lispBM/lispif_vesc_extensions.c index a387d187..a45adaf4 100644 --- a/lispBM/lispif_vesc_extensions.c +++ b/lispBM/lispif_vesc_extensions.c @@ -4520,10 +4520,12 @@ void lispif_process_can(uint32_t can_id, uint8_t *data8, int len, bool is_ext) { if (!lbm_unblock_ctx(can_recv_sid_cid, &v)) { lbm_free(v.buf); } + can_recv_sid_cid = -1; } else if (can_recv_eid_cid >= 0 && is_ext) { if (!lbm_unblock_ctx(can_recv_eid_cid, &v)) { lbm_free(v.buf); } + can_recv_eid_cid = -1; } else { if (!lbm_event(&v)) { lbm_free(v.buf); @@ -4550,6 +4552,7 @@ void lispif_process_custom_app_data(unsigned char *data, unsigned int len) { if (!lbm_unblock_ctx(recv_data_cid, &v)) { lbm_free(v.buf); } + recv_data_cid = -1; } else { if (!lbm_event(&v)) { lbm_free(v.buf);