diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-02-26 08:34:06 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-03-06 15:30:47 -0500 |
commit | dbbea6713d6096cd1c411cb453a6b71292c78b33 (patch) | |
tree | 6e824acc2b680350c4c4ebebaccf32b9b01c0e96 /net/mac80211/sta_info.c | |
parent | 7c8076bd8be3fd2a9a94f9687cf39e3505f0e4ec (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.c | 16 |
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, |