On Wed, 22 Sep 2004 18:16:11 -0400, Mark M. Hoffman wrote > The i2c-i801 driver has *major* brain damage w.r.t. block xfers. > What I *expected* to see in your logs was a timeout of some sort, > indicating that the bus was not resetting properly after a xfer. > > Not even close: the bus driver is actually performing a whole block xfer > once for each byte!!! Seeing this, I wouldn't be suprised to find > out that you are the very first user of that function, ever. I am honestly > amazed that it works at all. > > So I understand what needs to be done, but actually fixing it is not > high on my list just now - especially since you have a workaround > (disable_block=1). > > One reason this will take some time is that this driver supports several > different chipsets. Apparently some of them have a block xfer buffer > and some don't; I would have to read through ~5 chipset datasheets to > sort it out. This is one reason I was hoping the original authors would > get involved. I am not the original author but a user of the i2c-i801 driver. My laptop has an ICH3-M chip on-board. It has a couple EEPROMs attached, with which I have been playing a lot at some time. It seemed to work well, and I think that the eeprom driver uses block transfer when available. I may do any kind of test on my chip, either with the current 2.4 and 2.6 drivers or with patches from you applied, you just have to ask. Thanks. -- Jean Delvare http://khali.linux-fr.org/