When multiple modbus frames were queued in the socket buffer
conn_read() would read until it completely drained the
kernel's socket buffer or filled the connection buffer. The first modbus
frame in the buffer is then processed and sent to the tty, then the
buffer is reused for the reponse after it is received from the tty
possibly overwritting any subsequent modbus request frames already read.
Avoid this by maintaining pre-connection length to read, so we only read
a single modbus frame at a time.