diff options
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 a767042ec4f..42414b44159 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, |