diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-30 12:23:30 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-30 12:23:30 -0500 |
commit | c43e0e46adf79c321ed3fbf0351e1005fb8a2413 (patch) | |
tree | 35b9ab361651f649d3c9aa69f159812eba50d154 /drivers/firewire/fw-topology.c | |
parent | dba3d36b2f0842ed7f25c33cd3a2ccdb3d0df9db (diff) | |
parent | f2257b70b0f9b2fe8f2afd83fc6798dca75930b8 (diff) |
Merge branch 'linus' into core/percpu
Conflicts:
kernel/irq/handle.c
Diffstat (limited to 'drivers/firewire/fw-topology.c')
-rw-r--r-- | drivers/firewire/fw-topology.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c index c9be6e6948c4..8dd6703b55cd 100644 --- a/drivers/firewire/fw-topology.c +++ b/drivers/firewire/fw-topology.c | |||
@@ -518,6 +518,18 @@ fw_core_handle_bus_reset(struct fw_card *card, | |||
518 | struct fw_node *local_node; | 518 | struct fw_node *local_node; |
519 | unsigned long flags; | 519 | unsigned long flags; |
520 | 520 | ||
521 | /* | ||
522 | * If the selfID buffer is not the immediate successor of the | ||
523 | * previously processed one, we cannot reliably compare the | ||
524 | * old and new topologies. | ||
525 | */ | ||
526 | if (!is_next_generation(generation, card->generation) && | ||
527 | card->local_node != NULL) { | ||
528 | fw_notify("skipped bus generations, destroying all nodes\n"); | ||
529 | fw_destroy_nodes(card); | ||
530 | card->bm_retries = 0; | ||
531 | } | ||
532 | |||
521 | spin_lock_irqsave(&card->lock, flags); | 533 | spin_lock_irqsave(&card->lock, flags); |
522 | 534 | ||
523 | card->node_id = node_id; | 535 | card->node_id = node_id; |