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 _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"