]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
i2c: stm32f7: perform most of irq job in threaded handler
authorAlain Volmat <alain.volmat@foss.st.com>
Wed, 30 Jul 2025 14:00:00 +0000 (10:00 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 10:09:06 +0000 (12:09 +0200)
commitd786b6592030df754363f0f6341e5fa86d7ceaef
tree5a764cd300ca4efeab518598c8d37ae11b72af26
parent9bfaaa964014f2f8d05bd39d4ebeea6d73f884b8
i2c: stm32f7: perform most of irq job in threaded handler

[ Upstream commit e6103cd45ef0e14eb02f0666bc6b494902cfe821 ]

The irq handling is currently split between the irq handler
and the threaded irq handler.  Some of the handling (such as
dma related stuffs) done within the irq handler might sleep or
take some time leading to issues if the kernel is built with
realtime constraints.  In order to fix that, perform an overall
rework to perform most of the job within the threaded handler
and only keep fifo access in the non threaded handler.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Stable-dep-of: 6aae87fe7f18 ("i2c: stm32f7: unmap DMA mapped buffer")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-stm32f7.c