summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2025-09-24 22:18:23 +0900
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>2025-09-24 22:20:01 +0900
commite216c49b3ebb0729c50870ebfb8b798376dc1edf (patch)
tree349fdc9e8e51a908c36c6750f4bf37823af2856e
parenta6176b7b2a025f050740887238a7fbd3916ab6b5 (diff)
Revert "firewire: core: disable bus management work temporarily during updating topology"
This reverts commit abe7159125702c734e851bc0c52b51cd446298a5. The bus manager work item acquires the spin lock of fw_card again, thus no need to serialize it against fw_core_handle_bus_reset(). Link: https://lore.kernel.org/r/20250924131823.262136-3-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
-rw-r--r--drivers/firewire/core-topology.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/firewire/core-topology.c b/drivers/firewire/core-topology.c
index 90b988035a2a..2f73bcd5696f 100644
--- a/drivers/firewire/core-topology.c
+++ b/drivers/firewire/core-topology.c
@@ -460,14 +460,8 @@ void fw_core_handle_bus_reset(struct fw_card *card, int node_id, int generation,
{
struct fw_node *local_node;
- might_sleep();
-
trace_bus_reset_handle(card->index, generation, node_id, bm_abdicate, self_ids, self_id_count);
- // Disable bus management work during updating the cache of bus topology, since the work
- // accesses to some members of fw_card.
- disable_delayed_work_sync(&card->bm_work);
-
scoped_guard(spinlock, &card->lock) {
// If the selfID buffer is not the immediate successor of the
// previously processed one, we cannot reliably compare the
@@ -501,8 +495,6 @@ void fw_core_handle_bus_reset(struct fw_card *card, int node_id, int generation,
}
}
- enable_delayed_work(&card->bm_work);
-
fw_schedule_bm_work(card, 0);
// Just used by transaction layer.