Re: [ath5k-devel] Bugs on aspire one A150

From: Maxim Levitsky
Date: Tue Dec 30 2008 - 07:43:56 EST


On Mon, 2008-12-29 at 23:26 -0500, Bob Copeland wrote:
> On Sat, Dec 13, 2008 at 09:24:45AM -0500, Bob Copeland wrote:
> > > Indeed gpio #3 controls the led.
> > > I patched ath5k to use it, and led works now fine.
>
> Sorry for the delay, can you test this patch?
>
> From: Bob Copeland <me@xxxxxxxxxxxxxxx>
> Date: Mon, 29 Dec 2008 23:14:24 -0500
> Subject: [PATCH] ath5k: support LEDs on aspire one laptop
>
> Add vendor ID for Foxconn and use it to set the ath5k LED gpio and
> polarity for Acer branded laptops.
>
> base.c:
> Changes-licensed-under: 3-Clause-BSD
>
> Reported-by: Maxim Levitsky <maximlevitsky@xxxxxxxxx>
> Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx>
> ---
> drivers/net/wireless/ath5k/base.c | 7 +++++++
> include/linux/pci_ids.h | 2 ++
> 2 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
> index 40c0155..eb0675f 100644
> --- a/drivers/net/wireless/ath5k/base.c
> +++ b/drivers/net/wireless/ath5k/base.c
> @@ -2595,6 +2595,13 @@ ath5k_init_leds(struct ath5k_softc *sc)
> sc->led_pin = 1;
> sc->led_on = 1; /* active high */
> }
> + /* Pin 3 on Foxconn chips used in Aspire One A150 (0x105b:e008) */
> + if (pdev->subsystem_vendor == PCI_VENDOR_ID_FOXCONN) {
> + __set_bit(ATH_STAT_LEDSOFT, sc->status);
> + sc->led_pin = 3;
> + sc->led_on = 1; /* active high */
> + }
> +
> if (!test_bit(ATH_STAT_LEDSOFT, sc->status))
> goto out;
>

Sure, will test, I am also sure that this will work.

Unfortunely mac8211 is broken in regard to led handling.

Since ath5k doesn't do timers, led blinks very often, thus usually I
don't even see it, and moreover sometimes it gets 'inverted' and I
tested and this looks like software issue, just writing numbers to /sys
led interface works but triggers from mac8211, they are inverted.

This issue is masked on my iwl3945 since they use mac led triggers only
as a "suggestion" and blink the leds according to their own traffic
measurement, and timers (and still the code that should blink led at
different rates doesn't work, still led ether blinks or not at constant
rate)

Best regards,
Maxim Levitsky

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/