]> git.kernelconcepts.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 19:31:23 +0000 (12:31 -0700)
commit46774e8405812c94d96d795c9f0e1750f90811e0
tree9663f671adf7aacf930f576747a9db779d9ac4da
parent00974784802bca093cd5131852bb5064241be432
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