You're adding a new flag to mark when we should exit the retry loop, but we already have a condition we can set.

If we're going to do this just for the sake of avoiding a backwards `goto`, we should be using a `do {} while` and our condition should probably be something like `errors > 0 && errors < ATA_MAX_ERROR_COUNT` where `ATA_MAX_ERROR_COUNT` is set to 5 or something.