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

Reply via email to