Messages in this thread | | | From | Rafael Mendonca <> | Subject | [PATCH 0/3] uio: uio_dmem_genirq: Fix locking issues in irq config and handling | Date | Fri, 30 Sep 2022 19:40:56 -0300 |
| |
The goal of this series is to apply the changes from [1] to the "uio_dmem_genirq" driver. The implementation of "uio_dmem_genirq" was based on "uio_pdrv_genirq" and it is used in a similar manner to the "uio_pdrv_genirq" driver with respect to interrupt configuration and handling. At the time "uio_dmem_genirq" was introduced, both had the same implementation of the 'uio_info' handlers irqcontrol() and handler(). Later, [1] was only applied to "uio_pdrv_genirq", even though both had the same issues addressed by the patch, which ended up making them a little different.
The original motivation for this series was to fix a bug introduced by commit [2], which can be solved by copying the implementation of the interrupt configuration and handling from "uio_pdrv_genirq" to "uio_dmem_genirq", thus, making their implementation similar again.
Since patch [1] solves the bug introduced in [2] and also addresses other issues, I broke it into 3 separate changes.
[1] 34cb27528398 ("UIO: Fix concurrency issue") https://lore.kernel.org/lkml/201306201636.00535.vitas@nppfactor.kiev.ua/ [2] b74351287d4b ("uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol()") https://lore.kernel.org/all/20191218094405.6009-1-baijiaju1990@gmail.com/
Rafael Mendonca (3): uio: uio_dmem_genirq: Fix missing unlock in irq configuration uio: uio_dmem_genirq: Fix deadlock between irq config and handling uio: uio_dmem_genirq: Use non-atomic bit operations in irq config and handling
drivers/uio/uio_dmem_genirq.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-)
-- 2.34.1
| |