diff options
author | Michael Buesch <mb@bu3sch.de> | 2008-02-12 20:12:45 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-02-29 15:37:08 -0500 |
commit | d0f5afbe6de6b8c06f94a8a0b370252e3863afe7 (patch) | |
tree | 85ad53d8ec4e1c9d2c49d7219618549622000289 | |
parent | 3330d7be7008fa8e213648750fc13613eecc54bb (diff) | |
download | op-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.h | 14 |
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. */ /** |