> > On Thu, Dec 03, 2009 at 04:09:57PM +0100, Michael Lawnick wrote: > > Ben Dooks said the following: > > > On Tue, May 26, 2009 at 01:30:21PM +0200, Esben Haabendal wrote: > > >> On Tue, May 19, 2009 at 7:22 AM, Esben Haabendal <eha@xxxxxxxxxxxxxxxxxx> wrote: > > >> > This fixes MAL (arbitration lost) bug caused by illegal use of > > >> > RSTA (repeated START) after STOP condition generated after last byte > > >> > of reads. With this patch, it is possible to do an i2c_transfer() with > > >> > additional i2c_msg's following the I2C_M_RD messages. > > >> > > > >> > It still needs to be resolved if it is possible to fix this issue > > >> > by removing the STOP condition after reads in a robust way. > > >> > > > >> > Signed-off-by: Esben Haabendal <eha@xxxxxxxxxxxxxxxxxx> > > >> > --- > > >> > ?drivers/i2c/busses/i2c-mpc.c | ? ?9 +++++++-- > > >> > ?1 files changed, 7 insertions(+), 2 deletions(-) > > >> > > >> Any blockers to get this accepted? > > > > > > It would be nice to get an ack from someone who can actually test > > > the driver before getting this merged. > > > > > What is the state of this patch? > > Shouldn't we attack the problem on a more general way by inventing a > > Flag I2C_M_RESTART (or better I2C_M_NO_RESTART for backward compatibility)? > > This way the client driver is able to decide what it needs. If we do the > > choice within adapter, chance is about 50% to be wrong. > > The documentation for 'struct i2c_msg' already says the STOP should only > be generated for the last message of the transfer. If STOP is being > generated for a message that isn't the last in the transfer than this > is incorrect behaviour. > > Unless otherwise indicated, I'll put the patch in the series that I'll > send to Linus early next week. Don't, already fixed properly and in Linus tree already. -- 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