aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/sta_info.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-02-26 08:34:06 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-03-06 15:30:47 -0500
commitdbbea6713d6096cd1c411cb453a6b71292c78b33 (patch)
tree6e824acc2b680350c4c4ebebaccf32b9b01c0e96 /net/mac80211/sta_info.c
parent7c8076bd8be3fd2a9a94f9687cf39e3505f0e4ec (diff)
mac80211: add documentation book
Quite a while ago I started this book. The required kernel-doc patches have since gone into the tree so it is now possible to build the book in mainline. The actual documentation is still rather incomplete and not all things are linked into the book, but this enables us to edit the documentation collaboratively, hopefully driver authors can add documentation based on their experience with mac80211. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/sta_info.c')
-rw-r--r--net/mac80211/sta_info.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index a767042ec4fd..42414b441592 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -31,10 +31,10 @@
31 * for faster lookup and a list for iteration. They are managed using 31 * for faster lookup and a list for iteration. They are managed using
32 * RCU, i.e. access to the list and hash table is protected by RCU. 32 * RCU, i.e. access to the list and hash table is protected by RCU.
33 * 33 *
34 * Upon allocating a STA info structure with @sta_info_alloc() or 34 * Upon allocating a STA info structure with sta_info_alloc() or
35 * mesh_plink_alloc(), the caller owns that structure. It must then either 35 * mesh_plink_alloc(), the caller owns that structure. It must then either
36 * destroy it using @sta_info_destroy() (which is pretty useless) or insert 36 * destroy it using sta_info_destroy() (which is pretty useless) or insert
37 * it into the hash table using @sta_info_insert() which demotes the reference 37 * it into the hash table using sta_info_insert() which demotes the reference
38 * from ownership to a regular RCU-protected reference; if the function 38 * from ownership to a regular RCU-protected reference; if the function
39 * is called without protection by an RCU critical section the reference 39 * is called without protection by an RCU critical section the reference
40 * is instantly invalidated. 40 * is instantly invalidated.
@@ -42,19 +42,19 @@
42 * Because there are debugfs entries for each station, and adding those 42 * Because there are debugfs entries for each station, and adding those
43 * must be able to sleep, it is also possible to "pin" a station entry, 43 * must be able to sleep, it is also possible to "pin" a station entry,
44 * that means it can be removed from the hash table but not be freed. 44 * that means it can be removed from the hash table but not be freed.
45 * See the comment in @__sta_info_unlink() for more information. 45 * See the comment in __sta_info_unlink() for more information.
46 * 46 *
47 * In order to remove a STA info structure, the caller needs to first 47 * In order to remove a STA info structure, the caller needs to first
48 * unlink it (@sta_info_unlink()) from the list and hash tables and 48 * unlink it (sta_info_unlink()) from the list and hash tables and
49 * then wait for an RCU synchronisation before it can be freed. Due to 49 * then wait for an RCU synchronisation before it can be freed. Due to
50 * the pinning and the possibility of multiple callers trying to remove 50 * the pinning and the possibility of multiple callers trying to remove
51 * the same STA info at the same time, @sta_info_unlink() can clear the 51 * the same STA info at the same time, sta_info_unlink() can clear the
52 * STA info pointer it is passed to indicate that the STA info is owned 52 * STA info pointer it is passed to indicate that the STA info is owned
53 * by somebody else now. 53 * by somebody else now.
54 * 54 *
55 * If @sta_info_unlink() did not clear the pointer then the caller owns 55 * If sta_info_unlink() did not clear the pointer then the caller owns
56 * the STA info structure now and is responsible of destroying it with 56 * the STA info structure now and is responsible of destroying it with
57 * a call to @sta_info_destroy(), not before RCU synchronisation, of 57 * a call to sta_info_destroy(), not before RCU synchronisation, of
58 * course. Note that sta_info_destroy() must be protected by the RTNL. 58 * course. Note that sta_info_destroy() must be protected by the RTNL.
59 * 59 *
60 * In all other cases, there is no concept of ownership on a STA entry, 60 * In all other cases, there is no concept of ownership on a STA entry,