]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: Fix bug in computing crc over dynamic IEs in beacon
authorVasanthakumar Thiagarajan <vasanth@atheros.com>
Fri, 4 Dec 2009 12:11:34 +0000 (17:41 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 7 Dec 2009 21:51:24 +0000 (16:51 -0500)
commita4453c45be43eec8d672e0e1d41724156bcfa245
tree802c2703cfc1bb4230b52d0f56277e6a3df98ab8
parent5c95319d71e25ed8af21969f24644012b0488808
mac80211: Fix bug in computing crc over dynamic IEs in beacon

On a 32-bit machine, BIT() macro does not give the required
bit value if the bit is mroe than 31. In ieee802_11_parse_elems_crc(),
BIT() is suppossed to get the bit value more than 31 (42 (id of ERP_INFO_IE),
37 (CHANNEL_SWITCH_IE), (42), 32 (POWER_CONSTRAINT_IE), 45 (HT_CAP_IE),
61 (HT_INFO_IE)). As we do not get the required bit value for the above
IEs, crc over these IEs are never calculated, so any dynamic change in these
IEs after the association is not really handled on 32-bit platforms.
This patch fixes this issue.

Cc: stable@kernel.org
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/util.c