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: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
a64e2e2354
commit
9236b2a848
@ -76,6 +76,7 @@ static void orinoco_add_hostscan_result(struct orinoco_private *priv,
|
||||
{
|
||||
struct wiphy *wiphy = priv_to_wiphy(priv);
|
||||
struct ieee80211_channel *channel;
|
||||
struct cfg80211_bss *cbss;
|
||||
u8 *ie;
|
||||
u8 ie_buf[46];
|
||||
u64 timestamp;
|
||||
@ -121,9 +122,10 @@ static void orinoco_add_hostscan_result(struct orinoco_private *priv,
|
||||
beacon_interval = le16_to_cpu(bss->a.beacon_interv);
|
||||
signal = SIGNAL_TO_MBM(le16_to_cpu(bss->a.level));
|
||||
|
||||
cfg80211_inform_bss(wiphy, channel, bss->a.bssid, timestamp,
|
||||
capability, beacon_interval, ie_buf, ie_len,
|
||||
signal, GFP_KERNEL);
|
||||
cbss = cfg80211_inform_bss(wiphy, channel, bss->a.bssid, timestamp,
|
||||
capability, beacon_interval, ie_buf, ie_len,
|
||||
signal, GFP_KERNEL);
|
||||
cfg80211_put_bss(cbss);
|
||||
}
|
||||
|
||||
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 ieee80211_channel *channel;
|
||||
struct cfg80211_bss *cbss;
|
||||
const u8 *ie;
|
||||
u64 timestamp;
|
||||
s32 signal;
|
||||
@ -152,9 +155,10 @@ void orinoco_add_extscan_result(struct orinoco_private *priv,
|
||||
ie = bss->data;
|
||||
signal = SIGNAL_TO_MBM(bss->level);
|
||||
|
||||
cfg80211_inform_bss(wiphy, channel, bss->bssid, timestamp,
|
||||
capability, beacon_interval, ie, ie_len,
|
||||
signal, GFP_KERNEL);
|
||||
cbss = cfg80211_inform_bss(wiphy, channel, bss->bssid, timestamp,
|
||||
capability, beacon_interval, ie, ie_len,
|
||||
signal, GFP_KERNEL);
|
||||
cfg80211_put_bss(cbss);
|
||||
}
|
||||
|
||||
void orinoco_add_hostscan_results(struct orinoco_private *priv,
|
||||
|
Loading…
Reference in New Issue
Block a user