]> git.baikalelectronics.ru Git - kernel.git/commit
ath9k: fix invalid descriptor discarding
authorFelix Fietkau <nbd@openwrt.org>
Mon, 24 Feb 2014 21:26:06 +0000 (22:26 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 25 Feb 2014 19:54:11 +0000 (14:54 -0500)
commit68f355506542b75a9a8de38790005f522e0b7243
treec08be095b4713f0bf514e555a330195a9ca2b043
parentd287d99dab4cfb43d5edf0a903b919717d747c2c
ath9k: fix invalid descriptor discarding

Only set sc->rx.discard_next to rx_stats->rs_more when actually
discarding the current descriptor.

Also, fix a detection of broken descriptors:
First the code checks if the current descriptor is not done.
Then it checks if the next descriptor is done.
Add a check that afterwards checks the first descriptor again, because
it might have been completed in the mean time.

This fixes a regression introduced in
commit 822d01899402f2f086ad8ca359551a9d2497a957
"ath9k: fix handling of broken descriptors"

Cc: stable@vger.kernel.org
Reported-by: Marco André Dinis <marcoandredinis@gmail.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/recv.c