TinyGPS library reporting checksum errors, but no visible corruption

The GPS updates every second, whether it has data or not.

One of the fields is whether the data is good, or not. I'd eliminate that while loop, and let the GPS tell you when it has (good) data.