2009-02-09 04:17:50

by Nick Kossifidis

[permalink] [raw]
Subject: [PATCH 7/7] ath5k: Don't call reset on config_interface

* We call reset too often and this can result various PHY problems.
On config_interface we don't need to reset the whole device.

TODO: Create a function hw_fast_reset that only resets the PCU
(tx/rx stuff) and not the whole device so that we can use this for
stuck beacons etc.

Signed-off-by: Nick Kossifidis <[email protected]>

---
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index 685c19c..aa4e726 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -2871,7 +2871,7 @@ ath5k_config_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
{
struct ath5k_softc *sc = hw->priv;
struct ath5k_hw *ah = sc->ah;
- int ret;
+ int ret = 0;

mutex_lock(&sc->lock);
if (sc->vif != vif) {
@@ -2897,9 +2897,7 @@ ath5k_config_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
}
ath5k_beacon_update(sc, beacon);
}
- mutex_unlock(&sc->lock);

- return ath5k_reset_wake(sc);
unlock:
mutex_unlock(&sc->lock);
return ret;