]> git.karo-electronics.de Git - karo-tx-linux.git/commit
i2c: mxs: only flag completion when queue is completely done
authorWolfram Sang <w.sang@pengutronix.de>
Fri, 13 Jan 2012 11:14:26 +0000 (12:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Mar 2012 17:32:40 +0000 (10:32 -0700)
commit58cc48d37c4394fdfa8e70315dba705a1f4eb866
tree072975b9a3ff106969d042cbad51313fc99fe175
parent645507f2e948f022a30f1bc8811ca3b516c6c9bf
i2c: mxs: only flag completion when queue is completely done

commit 844990daa2e69a4258049ba9c2bae1180657dac3 upstream.

The hardware generates an interrupt for every completed command in the
queue while the code assumed that it will only generate one interrupt
when the queue is empty. So, explicitly check if the queue is really
empty. This patch fixed problems which occurred due to high traffic on
the bus. While we are here, move the completion-initialization after the
parameter error checking.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Marek Vasut <marek.vasut@gmail.com>
Cc: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-mxs.c