After fifo overrun buffer_done remains less than buffer_len and
FD_SET(p->port[ti].s, &read_set) is not called. If firmware has nothing
to send, select always returns 0 and new data is never read even if
fifo buffer gets flushed.
This patch removes check for select timeout, so the remaining data in
buffer may go to fifo.