]> www.infradead.org Git - users/jedix/linux-maple.git/commit
i2c: imx-lpi2c: check only for enabled interrupt flags
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Mon, 30 Jan 2023 15:32:47 +0000 (16:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Mar 2023 10:49:03 +0000 (12:49 +0200)
commit6d1c6e982b7eae46653b10a9ccb009951e3501fc
treebdc07dc260c17af2c28114d6eeec94da9f6bc779
parentec897f7524de0dcab969d2ded1ca748285de6120
i2c: imx-lpi2c: check only for enabled interrupt flags

[ Upstream commit 1c7885004567e8951d65a983be095f254dd20bef ]

When reading from I2C, the Tx watermark is set to 0. Unfortunately the
TDF (transmit data flag) is enabled when Tx FIFO entries is equal or less
than watermark. So it is set in every case, hence the reset default of 1.
This results in the MSR_RDF _and_ MSR_TDF flags to be set thus trying
to send Tx data on a read message.
Mask the IRQ status to filter for wanted flags only.

Fixes: a55fa9d0e42e ("i2c: imx-lpi2c: add low power i2c bus driver")
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Tested-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-imx-lpi2c.c