Clear FIFO before starting transfer

Fix driver hang problem. If previous transfer timed out, the next
transfer could deadlock the interrupt handler due to extra bytes present
in FIFO.