On Thu, 29 Aug 2019 15:26:24 +0200, Richard Weinberger <richard.weinber...@gmail.com> wrote: > So, you removed -EAGAIN handling, made everything synchronous, > and changed the interface.t > I'm not sure if this really a much better option.
I should have been more clear here that I'm using the interfaces provided by `drivers/char/hw_random/core.c` for consistency with the other hardware RNG drivers and to avoid reimplementing stuff that's already there. It might be a bit hard to see in the diff, but I pass the file descriptor to `os_set_fd_async()` to prevent it from blocking. For the -EAGAIN handling, I'm passing it onto the caller. Since you mentioned it, It would be better to handle it in the driver itself so I'll update the patch to address that. > Rewriting the driver in a modern manner is a good thing, but throwing the > old one way with a little hand weaving just because of a unspecified issue > is a little harsh. > Can you at lest provide more infos what problem you're facing with the > old driver? Most of it boiled down to it silently breaking if /dev/random on the host were to block for any reason, and there was the userspace tool requirement to properly make use of it. With that said, the interface was also inconsistent with the other hardware RNG drivers which would require a rewrite to address anyway.