/* Try to get as much data as the buffer can hold. */
len = DMM_BUFSIZE - devc->buflen;
len = serial_read(serial, devc->buf + devc->buflen, len);
- if (len < 1) {
+ if (len == 0)
+ return; /* No new bytes, nothing to do. */
+ if (len < 0) {
sr_err("Serial port read error: %d.", len);
return;
}