random: make error check in random_read_iter() more precise and readable
Currently, wait_for_random_bytes() only returns 0 on success or a negative error.
The check `if (ret != 0)` is functionally correct today, but fragile:
it would treat any unexpected positive value (should it ever be returned in the future)
as an error, which could cause incorrect behavior.
This patch replaces the check with `if (ret < 0)`, which makes the intent explicit:
only true error codes should trigger an early return. This improves code robustness
and makes the logic more readable to future maintainers by more clearly expressing
the expectations around `wait_for_random_bytes()`.
No functional change in current behavior.