When a communication error happens and a transaction is just partially
read the modbus link can get out of sync. The next transaction gets the
unconsumed data from the transaction before and so on and the link may
not recover form this. modbus_flush() prevents this behaviour.