Commit 9236b2a8 authored by David Kilroy's avatar David Kilroy Committed by John W. Linville

orinoco: release BSS structures returned by cfg80211_inform_bss()

The pointer returned by cfg80211_inform_bss is a referenced
struct. The orinoco driver does not need to keep the struct, so
we just release it.
Signed-off-by: default avatarDavid Kilroy <kilroyd@googlemail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent a64e2e23
...@@ -76,6 +76,7 @@ static void orinoco_add_hostscan_result(struct orinoco_private *priv, ...@@ -76,6 +76,7 @@ static void orinoco_add_hostscan_result(struct orinoco_private *priv,
{ {
struct wiphy *wiphy = priv_to_wiphy(priv); struct wiphy *wiphy = priv_to_wiphy(priv);
struct ieee80211_channel *channel; struct ieee80211_channel *channel;
struct cfg80211_bss *cbss;
u8 *ie; u8 *ie;
u8 ie_buf[46]; u8 ie_buf[46];
u64 timestamp; u64 timestamp;
...@@ -121,9 +122,10 @@ static void orinoco_add_hostscan_result(struct orinoco_private *priv, ...@@ -121,9 +122,10 @@ static void orinoco_add_hostscan_result(struct orinoco_private *priv,
beacon_interval = le16_to_cpu(bss->a.beacon_interv); beacon_interval = le16_to_cpu(bss->a.beacon_interv);
signal = SIGNAL_TO_MBM(le16_to_cpu(bss->a.level)); signal = SIGNAL_TO_MBM(le16_to_cpu(bss->a.level));
cfg80211_inform_bss(wiphy, channel, bss->a.bssid, timestamp, cbss = cfg80211_inform_bss(wiphy, channel, bss->a.bssid, timestamp,
capability, beacon_interval, ie_buf, ie_len, capability, beacon_interval, ie_buf, ie_len,
signal, GFP_KERNEL); signal, GFP_KERNEL);
cfg80211_put_bss(cbss);
} }
void orinoco_add_extscan_result(struct orinoco_private *priv, void orinoco_add_extscan_result(struct orinoco_private *priv,
...@@ -132,6 +134,7 @@ void orinoco_add_extscan_result(struct orinoco_private *priv, ...@@ -132,6 +134,7 @@ void orinoco_add_extscan_result(struct orinoco_private *priv,
{ {
struct wiphy *wiphy = priv_to_wiphy(priv); struct wiphy *wiphy = priv_to_wiphy(priv);
struct ieee80211_channel *channel; struct ieee80211_channel *channel;
struct cfg80211_bss *cbss;
const u8 *ie; const u8 *ie;
u64 timestamp; u64 timestamp;
s32 signal; s32 signal;
...@@ -152,9 +155,10 @@ void orinoco_add_extscan_result(struct orinoco_private *priv, ...@@ -152,9 +155,10 @@ void orinoco_add_extscan_result(struct orinoco_private *priv,
ie = bss->data; ie = bss->data;
signal = SIGNAL_TO_MBM(bss->level); signal = SIGNAL_TO_MBM(bss->level);
cfg80211_inform_bss(wiphy, channel, bss->bssid, timestamp, cbss = cfg80211_inform_bss(wiphy, channel, bss->bssid, timestamp,
capability, beacon_interval, ie, ie_len, capability, beacon_interval, ie, ie_len,
signal, GFP_KERNEL); signal, GFP_KERNEL);
cfg80211_put_bss(cbss);
} }
void orinoco_add_hostscan_results(struct orinoco_private *priv, void orinoco_add_hostscan_results(struct orinoco_private *priv,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment