firewire: Schedule topology work before calling driver update functions.
[firefly-linux-kernel-4.4.55.git] / drivers / firewire / fw-topology.c
index 27c6cb9c8367452265c018451e97a7de13d1ded4..36c9be75b025b445e931ff494c344646f672e60c 100644 (file)
@@ -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);