driftregion / iso14229

ISO 14229 (UDS) server and client for embedded systems
MIT License
213 stars 73 forks source link

fix(isotp_sock.c): add CAN_ISOTP_WAIT_TX_DONE flag to ISOTP sockets #30

Closed muehlke closed 3 months ago

muehlke commented 4 months ago

As of now, an UDS client run on the Linux ISOTP kernel module was not able to recognize a timeout error of a Flow Control frame not arriving in time after a multi-frame request. To fix this, the flag CAN_ISOTP_WAIT_TX_DONE is set on the socket. Otherwise writing the bytes of the SEND buffer to the ISOTP socket would incorrectly return the expected SEND buffer size, creating further problems like e.g. a timeout waiting on the response of the "sent" request, since it was not really sent so the UDS server is not sending a response.

muehlke commented 3 months ago

Hi @driftregion, could you please delete this pull request from the repo. I've made a new one #32.

By mistake I committed with the wrong git username and email. I've pushed everything as you mentioned but with the right git username and email.