From 13e05aa631b195ce30737b320da17e7542c82ead Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Sun, 23 Dec 2007 04:43:57 +0100 Subject: rc80211-pid: fix sta_info refcounting Fix a bug which caused uncorrect refcounting of PHYs in mac80211. Thanks to Johannes Berg for spotting this out. Cc: Johannes Berg Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller --- net/mac80211/rc80211_pid_algo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'net/mac80211') diff --git a/net/mac80211/rc80211_pid_algo.c b/net/mac80211/rc80211_pid_algo.c index 3e26280d3142..da3529017da1 100644 --- a/net/mac80211/rc80211_pid_algo.c +++ b/net/mac80211/rc80211_pid_algo.c @@ -254,7 +254,7 @@ static void rate_control_pid_tx_status(void *priv, struct net_device *dev, /* Ignore all frames that were sent with a different rate than the rate * we currently advise mac80211 to use. */ if (status->control.rate != &local->oper_hw_mode->rates[sta->txrate]) - return; + goto ignore; spinfo = sta->rate_ctrl_priv; spinfo->tx_num_xmit++; @@ -295,6 +295,7 @@ static void rate_control_pid_tx_status(void *priv, struct net_device *dev, if (time_after(jiffies, spinfo->last_sample + period)) rate_control_pid_sample(pinfo, local, sta); +ignore: sta_info_put(sta); } -- cgit v1.2.3