From: Marek Vasut Date: Wed, 21 Nov 2012 05:19:06 +0000 (+0100) Subject: i2c: mxs: Fix misuse init_completion X-Git-Tag: v3.8-rc5~9^2~6 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85de7fac3990cf0c0736edc83856add2e648c76a;p=pandora-kernel.git i2c: mxs: Fix misuse init_completion The init_completion() call does reinit not only the variable carrying the flag that the completion finished, but also initialized the waitqueue associated with the completion. On the contrary, the INIT_COMPLETION() call only reinits the flag. In case there was anything still stuck in the waitqueue, subsequent call to init_completion() would be able to create possible race condition. This patch uses the proper function and moves init_completion() into .probe() call of the driver, to be issued only once. Note that such scenario is impossible, since two threads can never enter the mxs_i2c_xfer_msg(), since whole this section is protected by mutex in I2C core. This by no means allows this issue to exit though. Signed-off-by: Marek Vasut Signed-off-by: Wolfram Sang --- Reading git-diff-tree failed