firewire: core: use mutex to coordinate concurrent calls to flush completions
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 9 Sep 2024 14:00:18 +0000 (23:00 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 9 Sep 2024 14:00:18 +0000 (23:00 +0900)
commitf877f1d81b2ffcac341ff62ae076d7ad5ba83f46
tree59972947210c65a5932c97a2dc76fe44f1b4e451
parente97fb38fa1404abef72bac7de2c5bf2bbab4d93b
firewire: core: use mutex to coordinate concurrent calls to flush completions

In current implementation, test_and_set_bit_lock() is used to mediate
concurrent calls of ohci_flush_iso_completions(). However, the ad-hoc
usage of atomic operations is not preferable.

This commit uses mutex_trylock() as the similar operations. The core
function is responsible for the mediation, instead of 1394 OHCI driver.

Link: https://lore.kernel.org/r/20240909140018.65289-3-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
drivers/firewire/core-iso.c
drivers/firewire/ohci.c
include/linux/firewire.h