<!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>