Skip to content

Commit

Permalink
ath9k: Lock config_interface() callback with a mutex
Browse files Browse the repository at this point in the history
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Sujith authored and John W. Linville committed Mar 5, 2009
1 parent b238e90 commit 2554935
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion drivers/net/wireless/ath9k/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2318,6 +2318,8 @@ static int ath9k_config_interface(struct ieee80211_hw *hw,
u32 rfilt = 0;
int error, i;

mutex_lock(&sc->mutex);

/* TODO: Need to decide which hw opmode to use for multi-interface
* cases */
if (vif->type == NL80211_IFTYPE_AP &&
Expand Down Expand Up @@ -2373,8 +2375,10 @@ static int ath9k_config_interface(struct ieee80211_hw *hw,
ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq);

error = ath_beacon_alloc(sc, 0);
if (error != 0)
if (error != 0) {
mutex_unlock(&sc->mutex);
return error;
}

ath_beacon_config(sc, 0);
}
Expand All @@ -2393,6 +2397,8 @@ static int ath9k_config_interface(struct ieee80211_hw *hw,
if (vif->type == NL80211_IFTYPE_ADHOC)
ath_update_chainmask(sc, 0);

mutex_unlock(&sc->mutex);

return 0;
}

Expand Down

0 comments on commit 2554935

Please sign in to comment.