]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: aspeed: Avoid i2c interrupt status clear race condition.
authorryan_chen <ryan_chen@aspeedtech.com>
Wed, 29 Apr 2020 03:37:37 +0000 (11:37 +0800)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 30 Apr 2020 14:12:33 +0000 (16:12 +0200)
commitf410e3536ad1b9d2f1c74220446d2bd3986f6bf3
tree47801a236531ba89857e864f0c5241bc718185c7
parent426f85aa24dc169223430386509a7ec05231b914
i2c: aspeed: Avoid i2c interrupt status clear race condition.

In AST2600 there have a slow peripheral bus between CPU and i2c
controller. Therefore GIC i2c interrupt status clear have delay timing,
when CPU issue write clear i2c controller interrupt status. To avoid
this issue, the driver need have read after write clear at i2c ISR.

Fixes: 9b08748342b7 ("i2c: aspeed: added driver for Aspeed I2C")
Signed-off-by: ryan_chen <ryan_chen@aspeedtech.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[wsa: added Fixes tag]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-aspeed.c