First off, your code looks flawless. I see no issues.
That being said, I ran into a similar issue when using a virtual COM port. The issue is that the readyRead signal implementation is device driver specific. Try running a hard line connection and see if that clears up your issue.