<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 12/28/10 11:51 PM, David Hendricks wrote:
    <blockquote
      cite="mid:AANLkTik8EOhNYmU=DaTpwm8XiLYFEzS+u7aKES8ornHW@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">On Tue, Dec 28, 2010 at 4:13 AM,
        Frantisek Rysanek <span dir="ltr"><<a moz-do-not-send="true"
            href="mailto:Frantisek.Rysanek@post.cz" target="_blank">Frantisek.Rysanek@post.cz</a>></span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          Dear maintainers of the superiotool,<br>
          <br>
          I have the following "feature request" (maybe not a bug
          report):<br>
          I have this idea that superiotool should be able to detect
          more than<br>
          one SuperIO chip in the system. Such detection of multiple
          chips may<br>
          work in some cases, but may fail in others.<br>
          <br>
          The primary cause seems to be that<br>
           winbond.c :: probe_idregs_winbond()<br>
          and<br>
            ite.c :: probe_idregs_ite()<br>
          call<br>
            if (chip_found) return;   // this is a global variable!<br>
          after every "init sequence" tried.<br>
          <br>
          Therefore, after the first chip detected (of any kind),<br>
          only the first init sequence is ever tried, in any subsequent
          calls<br>
          to the aforementioned probe_* functions.<br>
        </blockquote>
      </div>
    </blockquote>
    <br>
    That function is called with a port address. There can only be one
    chip at one port address. So leaving the function after a chip has
    been found at that address seems like the right thing to do. The bug
    is that chip_found is a global variable and not a local variable.<br>
    <br>
    Attached patch should fix the issue.<br>
    <br>
    <br>
    <br>
    Stefan<br>
  </body>
</html>