<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <small>Hi Alistair,</small><br>
    <br>
    <div class="moz-cite-prefix">On 06/26/2015 11:21 AM, Alistair Popple
      wrote:<br>
    </div>
    <blockquote cite="mid:10059081.qDTxMrExoX@mexican" type="cite">
      <pre wrap="">Hi Neelesh,

Comments below. Note that the sync function message queuing functions might go 
away so it would be best not to rely on them (it's only used in one place at 
the moment).

On Wed, 24 Jun 2015 22:38:59 Neelesh Gupta wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Signed-off-by: Neelesh Gupta <a class="moz-txt-link-rfc2396E" href="mailto:neelegup@linux.vnet.ibm.com"><neelegup@linux.vnet.ibm.com></a>
---
 core/ipmi.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/core/ipmi.c b/core/ipmi.c
index 9d91c26..bee2987 100644
--- a/core/ipmi.c
+++ b/core/ipmi.c
@@ -160,13 +160,11 @@ void ipmi_queue_msg_sync(struct ipmi_msg *msg)
        }
 
        lock(&sync_lock);
-       while (sync_msg);
</pre>
      </blockquote>
      <pre wrap="">
This won't work. The loop is there to wait for any outstanding sync message to 
be sent.

</pre>
      <blockquote type="cite">
        <pre wrap="">   sync_msg = msg;
        ipmi_queue_msg(msg);
-       unlock(&sync_lock);
-
-       while (sync_msg == msg)
+       while (sync_msg)
                time_wait_ms(100);
+       unlock(&sync_lock);
</pre>
      </blockquote>
      <pre wrap="">
You can't call time_wait_ms with a lock held as the pollers won't run so the 
message will never complete.</pre>
    </blockquote>
    <br>
    <small>Got it, also seeing the problem when testing.<br>
      So, this change is *not* required.<br>
      <br>
      Thanks for the review !<br>
      <br>
      Neelesh.<br>
    </small><br>
    <blockquote cite="mid:10059081.qDTxMrExoX@mexican" type="cite">
      <pre wrap="">

</pre>
      <blockquote type="cite">
        <pre wrap=""> }
 
 static void ipmi_read_event_complete(struct ipmi_msg *msg)

_______________________________________________
Skiboot mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Skiboot@lists.ozlabs.org">Skiboot@lists.ozlabs.org</a>
<a class="moz-txt-link-freetext" href="https://lists.ozlabs.org/listinfo/skiboot">https://lists.ozlabs.org/listinfo/skiboot</a>

</pre>
      </blockquote>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
  </body>
</html>