diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-01-26 00:38:45 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-09 16:02:48 -0500 |
commit | 931c4834c8d1e1bf0dcc256b89449a01711f970d (patch) | |
tree | 2d1b26b4418a034528acc98d38e179b57e2b3a56 /drivers/firewire/fw-topology.c | |
parent | 9fc82689bf2920e9b3a8cc1766bcb6ad6454a7c4 (diff) |
firewire: Implement compliant bus management.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-topology.c')
-rw-r--r-- | drivers/firewire/fw-topology.c | 7 |
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 | } |