I have an initial patch which gives me working leds on my DWL-G630.

It will need cleaning up a bit. In particular, I am not sure if using it
whenever SOFTLED is not activated is OK. I don't have any other
hardware, so I can't test.

Comments please

Mark


diff --git a/drivers/net/wireless/ath5k/base.c 
b/drivers/net/wireless/ath5k/base.c
index 6cf69d3..555446f 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -2815,6 +2816,8 @@ static int ath5k_add_interface(struct ieee80211_hw *hw,
         * be set to mac80211's value at ath5k_config(). */
        sc->bintval = 1000;
        ath5k_hw_set_lladdr(sc->ah, conf->mac_addr);
+       if (!test_bit(ATH_STAT_LEDSOFT, sc->status))
+               ath5k_hw_set_ledstate(sc->ah, AR5K_LED_SCAN);
 
        ret = 0;
 end:
@@ -2835,6 +2838,8 @@ ath5k_remove_interface(struct ieee80211_hw *hw,
 
        ath5k_hw_set_lladdr(sc->ah, mac);
        sc->vif = NULL;
+       if (!test_bit(ATH_STAT_LEDSOFT, sc->status))
+               ath5k_hw_set_ledstate(sc->ah, AR5K_LED_INIT);
 end:
        mutex_unlock(&sc->lock);
 }
@@ -3176,6 +3181,9 @@ static void ath5k_bss_info_changed(struct ieee80211_hw 
*hw,
                sc->assoc = bss_conf->assoc;
                if (sc->opmode == NL80211_IFTYPE_STATION)
                        set_beacon_filter(hw, sc->assoc);
+               if (!test_bit(ATH_STAT_LEDSOFT, sc->status))
+                       ath5k_hw_set_ledstate(sc->ah, 
+                                             (sc->assoc ? AR5K_LED_ASSOC : 
AR5K_LED_SCAN));
                mutex_unlock(&sc->lock);
        }
 }
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to