On Mon, Oct 13, 2008 at 8:05 AM, <[EMAIL PROTECTED]> wrote:
> http://bugzilla.kernel.org/show_bug.cgi?id=11749
---
Bug description from kernel.org bugzilla
Latest working kernel version: None
Earliest failing kernel version: Unknow
Distribution: all
Hardware Environment: Atheros wireless chipset
Software Environment: Fedora
Problem Description: ath5k driver has many inperrupts per second although the
system is idle.
I used AspierOne to test it, interrupts are so many that CPU's C3 residence
time is only 20 milliseconds or less, there isn't any valid traffic on my
wireless network except beacon frame.
I tested X61 in the same wireless environment, number of interrupt is only 1
per second, X61 has the latest Intel wireless chipset and 2.6.27 kernel was
running.
So i think ath5k and ath9k should can do as Intel wireless driver does,
otherwise, CPU can't stay at C3 with longer time because of wireless
interrupts.
Steps to reproduce:
1. Enable wireless on platform with Atheros wireless chipset.
2. watch cat /proc/interrupts
---
Folks, ANI is not handled yet in ath5k (and won't be on 2.6.26). What
I recommend is to try disabling MIB interrupts on the stable kernels
where you won't make use of MIB statistics, which you need for ANI.
Once you have ANI please enable the MIB interrupt.
yang.y.yi, please try this patch (also attached for your convenience)
and let us know if you see a difference.
Luis
diff --git a/drivers/net/wireless/ath5k/base.c
b/drivers/net/wireless/ath5k/base.c
index 0676c6d..c18ead9 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -2246,8 +2246,7 @@ ath5k_init(struct ath5k_softc *sc)
* Enable interrupts.
*/
sc->imask = AR5K_INT_RX | AR5K_INT_TX | AR5K_INT_RXEOL |
- AR5K_INT_RXORN | AR5K_INT_FATAL | AR5K_INT_GLOBAL |
- AR5K_INT_MIB;
+ AR5K_INT_RXORN | AR5K_INT_FATAL | AR5K_INT_GLOBAL;
ath5k_hw_set_intr(sc->ah, sc->imask);
/* Set ack to be sent at low bit-rates */
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index 0676c6d..c18ead9 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -2246,8 +2246,7 @@ ath5k_init(struct ath5k_softc *sc)
* Enable interrupts.
*/
sc->imask = AR5K_INT_RX | AR5K_INT_TX | AR5K_INT_RXEOL |
- AR5K_INT_RXORN | AR5K_INT_FATAL | AR5K_INT_GLOBAL |
- AR5K_INT_MIB;
+ AR5K_INT_RXORN | AR5K_INT_FATAL | AR5K_INT_GLOBAL;
ath5k_hw_set_intr(sc->ah, sc->imask);
/* Set ack to be sent at low bit-rates */
_______________________________________________
ath5k-devel mailing list
[email protected]
https://lists.ath5k.org/mailman/listinfo/ath5k-devel