From f79e7ccef6a80dc9668113bfe5325a90ec91a353 Mon Sep 17 00:00:00 2001 From: Kevin Wells Date: Tue, 16 Mar 2010 15:55:37 -0700 Subject: [PATCH] --- yaml --- r: 190111 b: refs/heads/master c: 28ad3321a1ac732c7fe37d5be85f67fe40ef18a9 h: refs/heads/master i: 190109: e77dadfc99eadbb7c1f1ec7f006ac87d075b6973 190107: 6d2d0a4a576aa5ceb2a99bffc82165f0b38cbc5c 190103: 08e902e684780459662ab60e6d415c209d0c81ac 190095: bdb5bca0d0f22676e5019d86c9e560ec50708774 190079: 4414ed33445be7a501d2308950f32f796a755792 v: v3 --- [refs] | 2 +- trunk/drivers/i2c/busses/i2c-pnx.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index c1b7b60bc5c7..6a7c48c4fd1f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: be80dbaa3ed64337693be58fb2f3808e78911ba6 +refs/heads/master: 28ad3321a1ac732c7fe37d5be85f67fe40ef18a9 diff --git a/trunk/drivers/i2c/busses/i2c-pnx.c b/trunk/drivers/i2c/busses/i2c-pnx.c index 68fa415d9ad5..a97e3fec8148 100644 --- a/trunk/drivers/i2c/busses/i2c-pnx.c +++ b/trunk/drivers/i2c/busses/i2c-pnx.c @@ -173,6 +173,9 @@ static int i2c_pnx_master_xmit(struct i2c_pnx_algo_data *alg_data) /* We still have something to talk about... */ val = *alg_data->mif.buf++; + if (alg_data->mif.len == 1) + val |= stop_bit; + alg_data->mif.len--; iowrite32(val, I2C_REG_TX(alg_data)); @@ -246,6 +249,9 @@ static int i2c_pnx_master_rcv(struct i2c_pnx_algo_data *alg_data) __func__); if (alg_data->mif.len == 1) { + /* Last byte, do not acknowledge next rcv. */ + val |= stop_bit; + /* * Enable interrupt RFDAIE (data in Rx fifo), * and disable DRMIE (need data for Tx)