rt2x00: Fix rt2800 key assignment in multi bssid setups
authorHelmut Schaa <helmut.schaa@googlemail.com>
Thu, 3 Mar 2011 18:44:33 +0000 (19:44 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 4 Mar 2011 19:06:48 +0000 (14:06 -0500)
commit1ed3811c33d525be1c657261db1713f294c40c60
treefcc8cb8bf9a46cab28809a33daedf9798575aa6d
parent4df10c8c1353e5db781a9a781cc585698b24f30d
rt2x00: Fix rt2800 key assignment in multi bssid setups

When setting up multiple BSSIDs in AP mode on an rt2800pci device we
previously used the STAs AID to select an appropriate key slot. But
since the AID is per VIF we can end up with two STAs having the same AID
and thus using the same key index. This resulted in one STA overwriting
the key information of another STA.

Fix this by simply searching for the next unused entry in the pairwise
key table.

Also bring the key table init in sync with deleting keys by initializing
the key table entries to 0 instead of 1.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2800lib.c