]> git.baikalelectronics.ru Git - kernel.git/commit
firewire: insist on successive self ID complete events
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Wed, 19 Mar 2008 21:02:40 +0000 (22:02 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 20 Jan 2009 18:29:51 +0000 (19:29 +0100)
commit0c487fcb9b7860c1b22c1d0845ade8d84fcee137
tree85deaf0584aea866a976245bae3c0d99bbca579f
parentabd5b8ec5c20235ce0e8867698184a798d0da796
firewire: insist on successive self ID complete events

The whole topology code only works if the old and new topologies which
are compared come from immediately successive self ID complete events.

If there happened bus resets without self ID complete events in the
meantime, or self ID complete events with invalid selfIDs, the topology
comparison could identify nodes wrongly, or more likely just corrupt
kernel memory or panic right away.

We now discard all nodes of the old topology and treat all current nodes
as new ones if the current self ID generation is not the previous one
plus 1.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jarod Wilson <jwilson@redhat.com>
drivers/firewire/fw-topology.c