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 <johannes@sipsolutions.net> Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
fa44327c06
commit
13e05aa631
@@ -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
|
/* Ignore all frames that were sent with a different rate than the rate
|
||||||
* we currently advise mac80211 to use. */
|
* we currently advise mac80211 to use. */
|
||||||
if (status->control.rate != &local->oper_hw_mode->rates[sta->txrate])
|
if (status->control.rate != &local->oper_hw_mode->rates[sta->txrate])
|
||||||
return;
|
goto ignore;
|
||||||
|
|
||||||
spinfo = sta->rate_ctrl_priv;
|
spinfo = sta->rate_ctrl_priv;
|
||||||
spinfo->tx_num_xmit++;
|
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))
|
if (time_after(jiffies, spinfo->last_sample + period))
|
||||||
rate_control_pid_sample(pinfo, local, sta);
|
rate_control_pid_sample(pinfo, local, sta);
|
||||||
|
|
||||||
|
ignore:
|
||||||
sta_info_put(sta);
|
sta_info_put(sta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user