commit | 2568ab661d737ffe91e0e7f78a37ce006205b8bc | [log] [tgz] |
---|---|---|
author | Jiapeng Li <mail@jiapeng.me> | Wed Apr 12 19:04:22 2023 +0800 |
committer | Carles CufĂ <carles.cufi@nordicsemi.no> | Wed Apr 12 17:45:04 2023 +0200 |
tree | 1796faddcbc26dd4b3cdc62444a0423926cc7860 | |
parent | 840c97676086f0f1e25ab06ab2d30085a329c022 [diff] |
canbus: isotp: fix single frame state machine stuck issue it is too late to set ctx->state to ISOTP_TX_WAIT_FIN after send_sf because send_state_machine could be called just between `send_sf` and `ctx->state = ISOTP_TX_WAIT_FIN;` in extremely case. like below: ```c ret = send_sf(ctx); -> send_state_machine (irq handler) ctx->state = ISOTP_TX_WAIT_FIN; ``` it will cause isotp_send never return. Signed-off-by: Jiapeng Li <mail@jiapeng.me>