Date: Fri, 13 Mar 2009 15:27:00 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: freebsd-hackers@freebsd.org Subject: intpm: multiple salves, collision ?? Message-ID: <49BA5F24.1020105@icyb.net.ua>
next in thread | raw e-mail | index | archive | help
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. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49BA5F24.1020105>