On Thu, Nov 19, 2015 at 04:56:40PM +0100, Wolfram Sang wrote: > Hello RCar Fans! > > So, here is V3 of this series. After a debugging session with Laurent, we > finally fixed his issue for good. It was not board dependent as we thought, but > toolchain dependent! Hidden by a macro, the driver used a compound assignemt > with a function call as the rvalue. After patch 6, this function also changed the > flags which were to be changed by the compound assignment. Basically (after macro): > > priv->flags |= i_change_priv_flags(priv); > > Which is undefined behaviour, I guess. However, after my refactoring, the > called functions always returned 0, so we can simply do: > > i_change_priv_flags(priv); > > Nasty one, but finally issue gone, for all toolchains and optimization settings. > Furthermore, patch 11 has been added because HW engineers wanted it. > > The branch can be found here: > > git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/rcar-i2c-rework-v3 > > Please test, test, test :) > > Wolfram Applied to for-next, thanks!