aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/fw-topology.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firewire/fw-topology.c')
-rw-r--r--drivers/firewire/fw-topology.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c
index fc8f1e7d3b07..27c6cb9c8367 100644
--- a/drivers/firewire/fw-topology.c
+++ b/drivers/firewire/fw-topology.c
@@ -476,12 +476,13 @@ fw_core_handle_bus_reset(struct fw_card *card,
476 * changed, either nodes were added or removed. In that case we 476 * changed, either nodes were added or removed. In that case we
477 * reset the IRM reset counter. */ 477 * reset the IRM reset counter. */
478 if (card->self_id_count != self_id_count) 478 if (card->self_id_count != self_id_count)
479 card->irm_retries = 0; 479 card->bm_retries = 0;
480 480
481 card->node_id = node_id; 481 card->node_id = node_id;
482 card->self_id_count = self_id_count; 482 card->self_id_count = self_id_count;
483 card->generation = generation; 483 card->generation = generation;
484 memcpy(card->self_ids, self_ids, self_id_count * 4); 484 memcpy(card->self_ids, self_ids, self_id_count * 4);
485 card->reset_jiffies = jiffies;
485 486
486 local_node = build_tree(card); 487 local_node = build_tree(card);
487 488
@@ -497,9 +498,7 @@ fw_core_handle_bus_reset(struct fw_card *card,
497 update_tree(card, local_node); 498 update_tree(card, local_node);
498 } 499 }
499 500
500 /* If we're not the root node, we may have to do some IRM work. */ 501 schedule_delayed_work(&card->work, 0);
501 if (card->local_node != card->root_node)
502 schedule_delayed_work(&card->work, 0);
503 502
504 spin_unlock_irqrestore(&card->lock, flags); 503 spin_unlock_irqrestore(&card->lock, flags);
505} 504}