From 1594b634e50cdf04a96f83b425e54b0118921d4a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 6 Feb 2007 14:49:35 -0500 Subject: [PATCH] firewire: Schedule topology work before calling driver update functions. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This prevents superfluous bus traffic as fw-sbp2 logs in only to get kicked off the device by another bus reset as the driver core does bus management. Scheduling it this way lets the driver core finish bus management before higher level drivers get the update callback. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter --- drivers/firewire/fw-topology.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c index 27c6cb9c83674..36c9be75b025b 100644 --- a/drivers/firewire/fw-topology.c +++ b/drivers/firewire/fw-topology.c @@ -483,6 +483,7 @@ fw_core_handle_bus_reset(struct fw_card *card, card->generation = generation; memcpy(card->self_ids, self_ids, self_id_count * 4); card->reset_jiffies = jiffies; + schedule_delayed_work(&card->work, 0); local_node = build_tree(card); @@ -498,8 +499,6 @@ fw_core_handle_bus_reset(struct fw_card *card, update_tree(card, local_node); } - schedule_delayed_work(&card->work, 0); - spin_unlock_irqrestore(&card->lock, flags); } EXPORT_SYMBOL(fw_core_handle_bus_reset); -- 2.39.5