]> git.baikalelectronics.ru Git - kernel.git/commit
ath9k: add locking for stopping RX
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Wed, 20 Oct 2010 23:07:03 +0000 (16:07 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 27 Oct 2010 19:41:14 +0000 (15:41 -0400)
commit2a883f770205ea498230cecb3eacdd725d118586
treec7c8cd58d3f08af970e93f3489450886e4489bec
parent45393bb854f7377e73a012da92595be223ef3d7b
ath9k: add locking for stopping RX

ath9k locks for starting RX but not for stopping RX. We could
potentially run into a situation where tried to stop RX
but immediately started RX. This allows for races on the
the RX engine deciding what buffer we last left off on
and could potentially cause ath9k to DMA into already
free'd memory or in the worst case at a later time to
already given memory to other drivers.

Fix this by locking stopping RX.

This is part of a series that will help resolve the bug:

https://bugzilla.kernel.org/show_bug.cgi?id=14624

For more details about this issue refer to:

http://marc.info/?l=linux-wireless&m=128629803703756&w=2

Cc: stable@kernel.org
Cc: Ben Greear <greearb@candelatech.com>
Cc: Kyungwan Nam <kyungwan.nam@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Tested-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/recv.c