After a read completes it's possible more data is pending so issue an immediate read again to pick this up quickly.