[i2c] i2c-nforce patch adding a check for read/writes of >=31 bytes
Oleg Ryjkov
olegr at google.com
Wed May 9 04:13:17 CEST 2007
Hello Hans, hello list,
I'm currently working on an issue with the i2c-nforce2 driver, which
happens when a block read/write is performed on a non-block register( up
until the patch of i2c-nforce.c dated 2006-12-10 it supported the block
reads - which is the version I'm using).
However, if a block read was done on, say a byte register, the
controller would halt and the only way I could bring it back up was to
reboot the host. I've came across the following patch:
http://lists.lm-sensors.org/pipermail/i2c/2006-October/000356.html
which seems to be working around this issue. However it adds a
constraint that the max number of bytes to transfer is 31.
So my question is, why is it 31? I've tried applying the patch and then
modifying it to raise this limit to 32 bytes and it seems to work fine
on the MCP51 host controller . (And since we are resending the command
following the length check, all of the 32 data registers are available
to us).
Additionally, what were the reasons not to include the patch in the kernel?
Thanks,
Oleg
More information about the i2c
mailing list