i2c-designware: Disable TX_EMPTY when all i2c_msg msgs has been processed
authorShinya Kuribayashi <shinya.kuribayashi@necel.com>
Fri, 6 Nov 2009 12:51:00 +0000 (21:51 +0900)
committerBen Dooks <ben-linux@fluff.org>
Wed, 9 Dec 2009 00:19:12 +0000 (00:19 +0000)
commit69151e532c97f983b498ea03e20b1598a5487318
tree819bf53c0d5653bb06e40f415dfeffce6f257b8f
parent201d6a70b72d1e6ca5a8e03f5f41a7741241401a
i2c-designware: Disable TX_EMPTY when all i2c_msg msgs has been processed

Currently we disable TX_EMPTY interrupt when buf_len is zero, but this
is wrong.  (buf_len == 0) means that all transmit data in the current
i2c_msg message has been sent out, but that doesn't necessarily mean
all i2c_msg messages have been processed.

TX_EMPTY interrupt is used as the driving force of DW I2C transactions,
so we need to keep it enabled as long as i2c_msg messages are available.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
drivers/i2c/busses/i2c-designware.c