Paul Carpenter schrieb:
Michael Lawnick wrote: > Hi, > > Ben Dooks schrieb: >> I have noticed the following behaviour with the i2c-rcar driver >> with the following single i2c_msg structure: >> >> msg[0].addr = 0x12; >> msg[0].flags = I2C_M_RD; >> msg[0].len = 0; >> msg[0].buf = data; > > isn't this illegal? > This should lead to 50% chance of blocked bus: After sending read-bit > the slave ACK's and puts first data bit onto SDL. If it is '0', NO device should change the data line during SCL rising or SCL HIGH this would cause STOP/START confusion.
Nobody talked about change while SCL high. SCL is high and SDA low for ACK. From slave's view it just keeps SDA low for first bit transmission while SCL goes low and is expected to go high again.
I'm sure to have seen this multiple times. You may just test on ordinary devices like lm75. KR Michael -- 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