diff options
Diffstat (limited to 'drivers/net/wireless/orinoco/scan.c')
| -rw-r--r-- | drivers/net/wireless/orinoco/scan.c | 16 | 
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/net/wireless/orinoco/scan.c b/drivers/net/wireless/orinoco/scan.c index e99ca1c1e0d..96e39edfec7 100644 --- a/drivers/net/wireless/orinoco/scan.c +++ b/drivers/net/wireless/orinoco/scan.c @@ -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,  |