firewire: unnecessary BM delay after generation rollover

Noticed by Jarod Wilson:  The bus manager work was unnecessarily delayed
each time the bus generation counter rolled over.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jarod Wilson <jwilson@redhat.com>
This commit is contained in:
Stefan Richter
2008-03-24 20:56:40 +01:00
parent a5c7f4710f
commit 8cd0bbbdff
3 changed files with 11 additions and 2 deletions

View File

@@ -523,7 +523,7 @@ fw_core_handle_bus_reset(struct fw_card *card,
* previously processed one, we cannot reliably compare the
* old and new topologies.
*/
if ((generation & 0xff) != ((card->generation + 1) & 0xff) &&
if (!is_next_generation(generation, card->generation) &&
card->local_node != NULL) {
fw_notify("skipped bus generations, destroying all nodes\n");
fw_destroy_nodes(card);