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

Commit 1b1d36b6 authored by Roland Vossen's avatar Roland Vossen Committed by Greg Kroah-Hartman
Browse files

staging: brcm80211: replaced 2.4Ghz specific wf_channel2mhz()



2.4 Ghz code cleanup related. Replaced broadcom specific function with Linux
function ieee80211_dsss_chan_to_freq().

Reviewed-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarRoland Vossen <rvossen@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a44d4236
Loading
Loading
Loading
Loading
+22 −16
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@
#include <dngl_stats.h>
#include <dhd.h>
#include <dhdioctl.h>

#include <linux/ieee80211.h>
typedef const struct si_pub si_t;
#include <wlioctl.h>

@@ -529,12 +529,13 @@ wl_iw_get_range(struct net_device *dev,
		range->freq[i].i = dtoh32(list->element[i]);

		ch = dtoh32(list->element[i]);
		if (ch <= CH_MAX_2G_CHANNEL)
		if (ch <= CH_MAX_2G_CHANNEL) {
			sf = WF_CHAN_FACTOR_2_4_G;
		else
			range->freq[i].m = ieee80211_dsss_chan_to_freq(ch);
		} else {
			sf = WF_CHAN_FACTOR_5_G;

			range->freq[i].m = wf_channel2mhz(ch, sf);
		}
		range->freq[i].e = 6;
	}
	range->num_frequency = range->num_channels = i;
@@ -1534,10 +1535,13 @@ wl_iw_get_scan_prep(wl_scan_results_t *list,
		}

		iwe.cmd = SIOCGIWFREQ;
		iwe.u.freq.m = wf_channel2mhz(CHSPEC_CHANNEL(bi->chanspec),
					      CHSPEC_CHANNEL(bi->chanspec) <=
					      CH_MAX_2G_CHANNEL ?
					      WF_CHAN_FACTOR_2_4_G :

		if (CHSPEC_CHANNEL(bi->chanspec) <= CH_MAX_2G_CHANNEL)
			iwe.u.freq.m = ieee80211_dsss_chan_to_freq(
						CHSPEC_CHANNEL(bi->chanspec));
		else
			iwe.u.freq.m = wf_channel2mhz(
						CHSPEC_CHANNEL(bi->chanspec),
						WF_CHAN_FACTOR_5_G);
		iwe.u.freq.e = 6;
		event =
@@ -1811,12 +1815,14 @@ wl_iw_iscan_get_scan(struct net_device *dev,
			channel =
			    (bi->ctl_ch ==
			     0) ? CHSPEC_CHANNEL(bi->chanspec) : bi->ctl_ch;

			if (channel <= CH_MAX_2G_CHANNEL)
				iwe.u.freq.m =
			    wf_channel2mhz(channel,
					   channel <=
					   CH_MAX_2G_CHANNEL ?
					   WF_CHAN_FACTOR_2_4_G :
					ieee80211_dsss_chan_to_freq(channel);
			else
				iwe.u.freq.m = wf_channel2mhz(channel,
							WF_CHAN_FACTOR_5_G);

			iwe.u.freq.e = 6;
			event =
			    IWE_STREAM_ADD_EVENT(info, event, end, &iwe,
+1 −1
Original line number Diff line number Diff line
@@ -6840,7 +6840,7 @@ prep_mac80211_status(struct wlc_info *wlc, d11rxhdr_t *rxh, struct sk_buff *p,
		rx_status->freq = wf_channel2mhz(channel, WF_CHAN_FACTOR_5_G);
	} else {
		rx_status->band = IEEE80211_BAND_2GHZ;
		rx_status->freq = wf_channel2mhz(channel, WF_CHAN_FACTOR_2_4_G);
		rx_status->freq = ieee80211_dsss_chan_to_freq(channel);
	}

	rx_status->signal = wlc_rxh->rssi;	/* signal */
+1 −4
Original line number Diff line number Diff line
@@ -181,11 +181,8 @@ int wf_channel2mhz(uint ch, uint start_factor)
{
	int freq;

	if ((start_factor == WF_CHAN_FACTOR_2_4_G && (ch < 1 || ch > 14)) ||
	    (ch > 200))
	if (ch > 200)
		freq = -1;
	else if ((start_factor == WF_CHAN_FACTOR_2_4_G) && (ch == 14))
		freq = 2484;
	else
		freq = ch * 5 + start_factor / 2;