I am working with a board which has an LTC4307 I2C bus isolator chip, connected to an MPC8548 processor. Occasionally under high CPU load, we see mysterious I2C errors (bad data, ACK errors). Our theory is that calls to i2c_wait() inside mpc_write() are blocking for so long that the LTC4307 thinks the bus is locked up, and resets it. This chip takes action after only 30ms. There are several workloads where we see the process doing the I2C writes is not getting rescheduled in time to write the next byte. So my question is this: is this something the I2C code should deal with, or is this something better pushed up to userspace? Raising the priority of the process has shown improvements. It seems like the kernel code could at least detect the problem and return an error if the hardware imposes realtime constraints. Thanks, Brian Dominy -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html