summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2007-09-09 22:29:14 +0200
committerJean Delvare <khali@hyperion.delvare>2007-09-09 22:29:14 +0200
commit939bc4943d0483961edc45b63a7d27b4ffe547e3 (patch)
tree4fb51849830e0bc3ef4e6534117fdb216a29406d /drivers/char
parenti2c-pxa: Fix adapter number (diff)
downloadlinux-939bc4943d0483961edc45b63a7d27b4ffe547e3.tar.xz
linux-939bc4943d0483961edc45b63a7d27b4ffe547e3.zip
i2c-algo-bit: Read block data bugfix
This fixes a bug in the way i2c-algo-bit handles I2C_M_RECV_LEN, used to implement i2c_smbus_read_block_data(). Previously, in the absence of PEC (rarely used!) it would NAK the "length" byte: S addr Rd [A] [length] NA That prevents the subsequent data bytes from being read: S addr Rd [A] [length] { A [data] }* NA The primary fix just reorders two code blocks, so the length used in the "should I NAK now?" check incorporates the data which it just read from the slave device. However, that move also highlighted other fault handling glitches. This fixes those by abstracting the RX path ack/nak logic, so it can be used in more than one location. Also, a few CodingStyle issues were also resolved. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/char')
0 files changed, 0 insertions, 0 deletions