Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -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,
	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,
	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,