|
@@ -355,6 +355,9 @@ report_lost_node(struct fw_card *card,
|
|
|
{
|
|
|
fw_node_event(card, node, FW_NODE_DESTROYED);
|
|
|
fw_node_put(node);
|
|
|
+
|
|
|
+ /* Topology has changed - reset bus manager retry counter */
|
|
|
+ card->bm_retries = 0;
|
|
|
}
|
|
|
|
|
|
static void
|
|
@@ -374,6 +377,9 @@ report_found_node(struct fw_card *card,
|
|
|
}
|
|
|
|
|
|
fw_node_event(card, node, FW_NODE_CREATED);
|
|
|
+
|
|
|
+ /* Topology has changed - reset bus manager retry counter */
|
|
|
+ card->bm_retries = 0;
|
|
|
}
|
|
|
|
|
|
void fw_destroy_nodes(struct fw_card *card)
|
|
@@ -514,14 +520,6 @@ fw_core_handle_bus_reset(struct fw_card *card,
|
|
|
|
|
|
spin_lock_irqsave(&card->lock, flags);
|
|
|
|
|
|
- /*
|
|
|
- * If the new topology has a different self_id_count the topology
|
|
|
- * changed, either nodes were added or removed. In that case we
|
|
|
- * reset the IRM reset counter.
|
|
|
- */
|
|
|
- if (card->self_id_count != self_id_count)
|
|
|
- card->bm_retries = 0;
|
|
|
-
|
|
|
card->node_id = node_id;
|
|
|
/*
|
|
|
* Update node_id before generation to prevent anybody from using
|