Hi Ranjan,
But for few registers zero may be a valid value and we don’t want those registers to get penalized with 30 read retries where 1/3 reads would have sufficed.
If 0 is a valid register value you'll end up always doing 3 retries before returning. Even if the first register reads were "successful". Peculiar!