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>
Loading
Please sign in to comment