]> git.dujemihanovic.xyz Git - linux.git/commit
i2c: ocores: set IACK bit after core is enabled
authorGrygorii Tertychnyi <grembeter@gmail.com>
Mon, 20 May 2024 15:39:32 +0000 (17:39 +0200)
committerAndi Shyti <andi.shyti@kernel.org>
Thu, 20 Jun 2024 23:17:43 +0000 (01:17 +0200)
commit5a72477273066b5b357801ab2d315ef14949d402
tree5adabda6c2c74b628596cfc40ddcd8948519c1ba
parent5c8cfd592bb7632200b4edac8f2c7ec892ed9d81
i2c: ocores: set IACK bit after core is enabled

Setting IACK bit when core is disabled does not clear the "Interrupt Flag"
bit in the status register, and the interrupt remains pending.

Sometimes it causes failure for the very first message transfer, that is
usually a device probe.

Hence, set IACK bit after core is enabled to clear pending interrupt.

Fixes: 18f98b1e3147 ("[PATCH] i2c: New bus driver for the OpenCores I2C controller")
Signed-off-by: Grygorii Tertychnyi <grygorii.tertychnyi@leica-geosystems.com>
Acked-by: Peter Korsgaard <peter@korsgaard.com>
Cc: stable@vger.kernel.org
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-ocores.c