i2c: recovery: refactor recovery function
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 10 Jul 2018 21:42:17 +0000 (23:42 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 17 Jul 2018 08:42:48 +0000 (10:42 +0200)
commit0b71026c69caa10261218528326721828d29a481
treeeb0d0bd98fb7b59026a82e1dea675d18375d2246
parentffc59c496bf8498657321c59433f55bbcf2d9c38
i2c: recovery: refactor recovery function

After exiting the while loop, we checked if recovery was successful and
sent a STOP to the clients. Meanwhile however, we send a STOP after
every pulse, so it is not needed after the loop. If we move the check
for a free bus to the end of the while loop, we can shorten and simplify
the logic. It is still ensured that at least one STOP will be sent to
the wire even if SDA was not stuck low.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/i2c-core-base.c