Command to "reset" UART?

Beaglebone Black/Enhanced running Debian GNU/Linux 9 (stretch), 4.14.108-ti-r115

Occasionally, while communicating with an external serial device, the Beaglebone UART appears to get out of sync with the external device and received messages are incomplete or incorrect. Sometimes the read fails completely and produces this error:

Failed to read from the input
: Resource temporarily unavailable
 count == -1

Other times the read happens but garbage characters are present, or part of the message is missing.

I have attempted to “reset” the UART:
tput reset > /dev/ttyS4
Which does slightly improve the communications (more complete messages are recieved) but does not completely fix it.
The only fix to completely clear this problem is rebooting the Beagleboard.

So is there a good way to “remove” and then “restart” the UART without rebooting the entire system?

Thank you in advance.