提交 993baca3 编写于 作者: K Kristian Høgsberg 提交者: Stefan Richter

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: NKristian Høgsberg <krh@redhat.com>
Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
上级 7f37c426
...@@ -483,6 +483,7 @@ fw_core_handle_bus_reset(struct fw_card *card, ...@@ -483,6 +483,7 @@ fw_core_handle_bus_reset(struct fw_card *card,
card->generation = generation; card->generation = generation;
memcpy(card->self_ids, self_ids, self_id_count * 4); memcpy(card->self_ids, self_ids, self_id_count * 4);
card->reset_jiffies = jiffies; card->reset_jiffies = jiffies;
schedule_delayed_work(&card->work, 0);
local_node = build_tree(card); local_node = build_tree(card);
...@@ -498,8 +499,6 @@ fw_core_handle_bus_reset(struct fw_card *card, ...@@ -498,8 +499,6 @@ fw_core_handle_bus_reset(struct fw_card *card,
update_tree(card, local_node); update_tree(card, local_node);
} }
schedule_delayed_work(&card->work, 0);
spin_unlock_irqrestore(&card->lock, flags); spin_unlock_irqrestore(&card->lock, flags);
} }
EXPORT_SYMBOL(fw_core_handle_bus_reset); EXPORT_SYMBOL(fw_core_handle_bus_reset);
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册