summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2008-02-12 20:12:45 +0100
committerJohn W. Linville <linville@tuxdriver.com>2008-02-29 15:37:08 -0500
commitd0f5afbe6de6b8c06f94a8a0b370252e3863afe7 (patch)
tree85ad53d8ec4e1c9d2c49d7219618549622000289
parent3330d7be7008fa8e213648750fc13613eecc54bb (diff)
downloadop-kernel-dev-d0f5afbe6de6b8c06f94a8a0b370252e3863afe7.zip
op-kernel-dev-d0f5afbe6de6b8c06f94a8a0b370252e3863afe7.tar.gz
mac80211: Extend filter flag documentation about unsupported flags
This extends the filter flags documentation to make it clear what clearing a flag really means. Signed-off-by: Michael Buesch <mb@bu3sch.de> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--include/net/mac80211.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 5ecf3cc..027d51f 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -793,8 +793,18 @@ static inline void SET_IEEE80211_PERM_ADDR(struct ieee80211_hw *hw, u8 *addr)
* parameter to see whether multicast frames should be accepted
* or dropped.
*
- * All unsupported flags in @total_flags must be cleared, i.e. you
- * should clear all bits except those you honoured.
+ * All unsupported flags in @total_flags must be cleared.
+ * Hardware does not support a flag if it is incapable of _passing_
+ * the frame to the stack. Otherwise the driver must ignore
+ * the flag, but not clear it.
+ * You must _only_ clear the flag (announce no support for the
+ * flag to mac80211) if you are not able to pass the packet type
+ * to the stack (so the hardware always filters it).
+ * So for example, you should clear @FIF_CONTROL, if your hardware
+ * always filters control frames. If your hardware always passes
+ * control frames to the kernel and is incapable of filtering them,
+ * you do _not_ clear the @FIF_CONTROL flag.
+ * This rule applies to all other FIF flags as well.
*/
/**
OpenPOWER on IntegriCloud