Skip to content

Commit

Permalink
firewire: net: allow for unordered unit discovery
Browse files Browse the repository at this point in the history
Decouple the creation and destruction of the net_device from the order
of discovery and removal of nodes with RFC 2734 unit directories since
there is no reliable order.  The net_device is now created when the
first RFC 2734 unit on a card is discovered, and destroyed when the last
RFC 2734 unit on a card went away.  This includes all remote units as
well as the local unit, which is therefore tracked as a peer now too.

Also, locking around the list of peers is slightly extended to guard
against peer removal.  As a side effect, fwnet_peer.pdg_lock has become
superfluous and is deleted.

Peer data (max_rec, speed, node ID, generation) are updated more
carefully.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
  • Loading branch information
Stefan Richter committed Jun 14, 2009
1 parent f91e3bd commit 5a124d3
Show file tree
Hide file tree
Showing 3 changed files with 207 additions and 253 deletions.
2 changes: 0 additions & 2 deletions drivers/firewire/core-card.c
Original file line number Diff line number Diff line change
Expand Up @@ -429,8 +429,6 @@ void fw_card_initialize(struct fw_card *card,
card->local_node = NULL;

INIT_DELAYED_WORK(&card->work, fw_card_bm_work);
card->netdev = NULL;
INIT_LIST_HEAD(&card->peer_list);
}
EXPORT_SYMBOL(fw_card_initialize);

Expand Down
Loading

0 comments on commit 5a124d3

Please sign in to comment.