rt2x00: fix memory corruption in rf cache, add a sanity check
authorPavel Roskin <proski@gnu.org>
Tue, 4 Aug 2009 21:48:16 +0000 (17:48 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 14 Aug 2009 13:06:52 +0000 (09:06 -0400)
commit6b26dead3ce97d016b57724b01974d5ca5c84bd5
treed6968f04884bcb8bf28f29a6ed8f0dc73ea191ef
parent416fbdff2137e8d8cc8f23f517bee3a26b11526f
rt2x00: fix memory corruption in rf cache, add a sanity check

Change rt2x00_rf_read() and rt2x00_rf_write() to subtract 1 from the rf
register number.  This is needed because the rf registers are enumerated
starting with one.  The size of the rf register cache is just enough to
hold all registers, so writing to the highest register was corrupting
memory.  Add a check to make sure that the rf register number is valid.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Cc: stable@kernel.org
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00.h