From 993baca3dde7959567e3c7c262c2bc843ba241de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 6 Feb 2007 14:49:35 -0500 Subject: firewire: Schedule topology work before calling driver update functions. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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(-) (limited to 'drivers/firewire/fw-topology.c') diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c index 27c6cb9c836..36c9be75b02 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); -- cgit v1.2.3