<div dir="ltr">Hi James,<div><br></div><div>I just tried, now I have no reading at all... I saw you marked your pull request to work in progress. I'll wait for further updates...<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><br></div>- Alex Qiu</div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 2, 2020 at 1:31 PM Alex Qiu <<a href="mailto:xqiu@google.com">xqiu@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi James,<div><br></div><div>I think Ed has mentioned the same thing in an internal discussion. I'll give it a try.</div><div><br></div><div>Anyhow, as discussed with Guenter, EAGAIN still may not be a good use of our case here, as it's not something that a busy loop should wait for. I've also changed the driver to return ENODATA.</div><div><br></div><div>Thanks!<br clear="all"><div><div dir="ltr"><div dir="ltr"><div><br></div>- Alex Qiu</div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 2, 2020 at 10:59 AM James Feist <<a href="mailto:james.feist@linux.intel.com" target="_blank">james.feist@linux.intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 8/31/2020 3:08 PM, Alex Qiu wrote:<br>
> Hi James,<br>
> <br>
> I just came through this doc <br>
> (<a href="https://www.boost.org/doc/libs/1_74_0/doc/html/boost_asio/overview/posix/stream_descriptor.html" rel="noreferrer" target="_blank">https://www.boost.org/doc/libs/1_74_0/doc/html/boost_asio/overview/posix/stream_descriptor.html</a>). <br>
> Looks like that it's a terrible idea for hwmon driver to return EAGAIN <br>
> for dbus-sensors. With that, I think the proper fix is also to use other <br>
> errno instead in our driver, and this caveat should be probably <br>
> documented somewhere.<br>
> <br>
<br>
Hi Alex,<br>
<br>
I hit something similar with peci where timeouts was causing the scan <br>
loop to hang. I remembered that back when we were developing ipmbbridge <br>
we hit something similar with i2c, and the work around was to use the <br>
tcp socket instead <br>
<a href="https://www.boost.org/doc/libs/1_74_0/doc/html/boost_asio/reference/ip__tcp/socket.html" rel="noreferrer" target="_blank">https://www.boost.org/doc/libs/1_74_0/doc/html/boost_asio/reference/ip__tcp/socket.html</a> <br>
as it could correctly handle the errors. This worked for me for the <br>
CpuSensor and is a easy to implement change that might be worth trying <br>
for other sensors <br>
<a href="https://gerrit.openbmc-project.xyz/c/openbmc/dbus-sensors/+/36181" rel="noreferrer" target="_blank">https://gerrit.openbmc-project.xyz/c/openbmc/dbus-sensors/+/36181</a>.<br>
<br>
Thanks<br>
<br>
James<br>
</blockquote></div>
</blockquote></div>