]> git.baikalelectronics.ru Git - kernel.git/commit
ath5k: Fix loop variable initializations
authorBob Copeland <me@bobcopeland.com>
Tue, 13 May 2008 01:16:44 +0000 (21:16 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 14 May 2008 20:29:50 +0000 (16:29 -0400)
commit2a838c03c805f363a44e9ab8c3df8d806868fdd7
tree6d7ba98e768595f31505e29e5bfcb83d06b5b3d4
parente1761ca949daee8dd061740426081b8433cc288d
ath5k: Fix loop variable initializations

In ath5k_tasklet_rx, both status structures 'rxs' and 'rs' are
initialized at the top of the tasklet, but not within the loop.
If the loop is executed multiple times in the tasklet then the
variables may see changes from previous packets.

For TKIP, this results in 'Invalid Michael MIC' errors if two packets
are processed in the tasklet: rxs.flag gets set to RX_DECRYPTED by
mac80211 when it decrypts the first encrypted packet.  The subsequent
packet will have RX_DECRYPTED set upon entry to mac80211, so mac80211
will not try to decrypt it.

We currently initialize all but two fields in the structures, so fix
the other two.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath5k/base.c
drivers/net/wireless/ath5k/hw.c