diff options
Diffstat (limited to 'net/mac80211/ieee80211.c')
-rw-r--r-- | net/mac80211/ieee80211.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index 1981058907b7..566bdca32b86 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c | |||
@@ -628,8 +628,8 @@ int ieee80211_if_update_wds(struct net_device *dev, u8 *remote_addr) | |||
628 | /* Remove STA entry for the old peer */ | 628 | /* Remove STA entry for the old peer */ |
629 | sta = sta_info_get(local, sdata->u.wds.remote_addr); | 629 | sta = sta_info_get(local, sdata->u.wds.remote_addr); |
630 | if (sta) { | 630 | if (sta) { |
631 | sta_info_free(sta); | ||
631 | sta_info_put(sta); | 632 | sta_info_put(sta); |
632 | sta_info_free(sta, 0); | ||
633 | } else { | 633 | } else { |
634 | printk(KERN_DEBUG "%s: could not find STA entry for WDS link " | 634 | printk(KERN_DEBUG "%s: could not find STA entry for WDS link " |
635 | "peer " MAC_FMT "\n", | 635 | "peer " MAC_FMT "\n", |
@@ -776,13 +776,13 @@ static void ieee80211_stat_refresh(unsigned long data) | |||
776 | return; | 776 | return; |
777 | 777 | ||
778 | /* go through all stations */ | 778 | /* go through all stations */ |
779 | spin_lock_bh(&local->sta_lock); | 779 | read_lock_bh(&local->sta_lock); |
780 | list_for_each_entry(sta, &local->sta_list, list) { | 780 | list_for_each_entry(sta, &local->sta_list, list) { |
781 | sta->channel_use = (sta->channel_use_raw / local->stat_time) / | 781 | sta->channel_use = (sta->channel_use_raw / local->stat_time) / |
782 | CHAN_UTIL_PER_10MS; | 782 | CHAN_UTIL_PER_10MS; |
783 | sta->channel_use_raw = 0; | 783 | sta->channel_use_raw = 0; |
784 | } | 784 | } |
785 | spin_unlock_bh(&local->sta_lock); | 785 | read_unlock_bh(&local->sta_lock); |
786 | 786 | ||
787 | /* go through all subinterfaces */ | 787 | /* go through all subinterfaces */ |
788 | read_lock(&local->sub_if_lock); | 788 | read_lock(&local->sub_if_lock); |