Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Mar 2009 16:29:36 +0200
From:      Andriy Gapon <avg@freebsd.org>
To:        freebsd-hackers@freebsd.org
Subject:   Re: intpm: multiple salves, collision ??
Message-ID:  <49BA6DD0.1080407@freebsd.org>
In-Reply-To: <49BA5F24.1020105@icyb.net.ua>
References:  <49BA5F24.1020105@icyb.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
on 13/03/2009 15:27 Andriy Gapon said the following:
> I observe some quite odd behavior with intpm(4).
> I have a program that access two slaves at a high rate (no sleeps or
> long calculations). The typical pattern of access is:
> 1. SMB_WRITEB slave1 reg1
> 2. SMB_READB slave1 reg2
> 3. SMB_READB *slave2* reg
> 4. SMB_READB slave1 reg3
> 
> There are many iterations of this pattern in a tight loop.
> There is definitely only one entity that uses SMBus - no other userland
> programs, nothing in kernel, nothing in ACPI and BIOS.
> 
> At random iteration smb ioctl would fail with EIO. This happens
> consistently at step 4. Debugging printf in intpm gives this:
> intsmb0: error = 8, status = 0x8
> That is, PIIX4_SMBHSTSTAT_BUSC translated to SMB_ECOLLI.
> 
> Error can not be reproduced if only one slave is accessed, no matter in
> what patterns.
> 

Sorry for the noise, the problem seems to be in misbehavior on part of one of the
slaves used by the original program. I wrote a minimalistic test program and ran
it for several different combinations of slaves - the issue only occurs if a
certain slave is accessed, no problems for any other slaves.
I wonder what could be wrong with that slave.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49BA6DD0.1080407>