Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=993baca3dde7959567e3c7c262c2bc843ba241de Commit: 993baca3dde7959567e3c7c262c2bc843ba241de Parent: 7f37c426c68d34aa221ce29262c1eba39034ac97 Author: Kristian Høgsberg <[EMAIL PROTECTED]> AuthorDate: Tue Feb 6 14:49:35 2007 -0500 Committer: Stefan Richter <[EMAIL PROTECTED]> CommitDate: Fri Mar 9 22:02:53 2007 +0100
firewire: Schedule topology work before calling driver update functions. 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 <[EMAIL PROTECTED]> Signed-off-by: Stefan Richter <[EMAIL PROTECTED]> --- drivers/firewire/fw-topology.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c index 27c6cb9..36c9be7 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); - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html