kern/144476: [ieee80211] Incorrect "SM power save mode" HT capability constants

Alexander Egorenkov egorenar at
Thu Mar 4 19:20:02 UTC 2010

>Number:         144476
>Category:       kern
>Synopsis:       [ieee80211] Incorrect "SM power save mode" HT capability constants
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 04 19:20:02 UTC 2010
>Originator:     Alexander Egorenkov
>Release:        FreeBSD 7.2 STABLE
FreeBSD dantooine 7.2-RELEASE FreeBSD 7.2-RELEASE #1: Sat Feb 27 18:41:55 CET 2010     root at dantooine:/usr/obj/usr/src/sys/MYKERNEL  i386
I was testing my 802.11n mode device driver and captured an association process with my AP. I noticed that 2 "SM power save mode" HT capability constants
were incorrectly defined in header file ieee80211.h. That caused the net80211 stack to send wrong HT capability to my AP during association.

The incorrectly defined constants are IEEE80211_HTCAP_SMPS_OFF and

Code snippet:

#define	IEEE80211_HTCAP_SMPS		0x000c	/* SM Power Save mode */
#define	IEEE80211_HTCAP_SMPS_OFF	0x0000	/* none (static mode) */
#define	IEEE80211_HTCAP_SMPS_DYNAMIC	0x0004	/* send RTS first */
/* NB: SMPS value 2 is reserved */
#define	IEEE80211_HTCAP_SMPS_ENA	0x000c	/* enabled */


The comments for the both constants are also wrong.

I checked the IEEE 802.11n specification and the right values for these constants are:

IEEE80211_HTCAP_SMPS_OFF = 0x000c
IEEE80211_HTCAP_SMPS_ENA = 0x0000


More information about the freebsd-bugs mailing list