<div dir="ltr">Hi Guenter,<div><br></div><div>For that, this was referring to the OpenBMC application. What I meant is that even normal sensors stopped working... . Sry for the confusion...<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 Thu, Sep 3, 2020 at 8:31 AM Guenter Roeck <<a href="mailto:groeck@google.com">groeck@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">On Wed, Sep 2, 2020 at 3:07 PM Alex Qiu <<a href="mailto:xqiu@google.com" target="_blank">xqiu@google.com</a>> wrote:<br>
><br>
> Hi James,<br>
><br>
> 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>
><br>
I may be missing something, but isn't that the idea ?<br>
<br>
Thanks,<br>
Guenter<br>
<br>
> - Alex Qiu<br>
><br>
><br>
> On Wed, Sep 2, 2020 at 1:31 PM Alex Qiu <<a href="mailto:xqiu@google.com" target="_blank">xqiu@google.com</a>> wrote:<br>
>><br>
>> Hi James,<br>
>><br>
>> I think Ed has mentioned the same thing in an internal discussion. I'll give it a try.<br>
>><br>
>> 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.<br>
>><br>
>> Thanks!<br>
>><br>
>> - Alex Qiu<br>
>><br>
>><br>
>> 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>
>>><br>
>>> 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>