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

Commit bb60b8b3 authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'mac80211-next-for-davem-2017-01-13' of...

Merge tag 'mac80211-next-for-davem-2017-01-13' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next



Johannes Berg says:

====================
For 4.11, we seem to have more than in the past few releases:
 * socket owner support for connections, so when the wifi
   manager (e.g. wpa_supplicant) is killed, connections are
   torn down - wpa_supplicant is critical to managing certain
   operations, and can opt in to this where applicable
 * minstrel & minstrel_ht updates to be more efficient (time and space)
 * set wifi_acked/wifi_acked_valid for skb->destructor use in the
   kernel, which was already available to userspace
 * don't indicate new mesh peers that might be used if there's no
   room to add them
 * multicast-to-unicast support in mac80211, for better medium usage
   (since unicast frames can use *much* higher rates, by ~3 orders of
   magnitude)
 * add API to read channel (frequency) limitations from DT
 * add infrastructure to allow randomizing public action frames for
   MAC address privacy (still requires driver support)
 * many cleanups and small improvements/fixes across the board
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents ca4b5eb8 c88215d7
Loading
Loading
Loading
Loading
+24 −0
Original line number Original line Diff line number Diff line
Common IEEE 802.11 properties

This provides documentation of common properties that are valid for all wireless
devices.

Optional properties:
 - ieee80211-freq-limit : list of supported frequency ranges in KHz. This can be
	used for devices that in a given config support less channels than
	normally. It may happen chipset supports a wide wireless band but it is
	limited to some part of it due to used antennas or power amplifier.
	An example case for this can be tri-band wireless router with two
	identical chipsets used for two different 5 GHz subbands. Using them
	incorrectly could not work or decrease performance noticeably.

Example:

pcie@0,0 {
	reg = <0x0000 0 0 0 0>;
	wifi@0,0 {
		reg = <0x0000 0 0 0 0>;
		ieee80211-freq-limit = <2402000 2482000>,
				       <5170000 5250000>;
	};
};
+3 −0
Original line number Original line Diff line number Diff line
@@ -44,6 +44,9 @@ Device registration
.. kernel-doc:: include/net/cfg80211.h
.. kernel-doc:: include/net/cfg80211.h
   :functions: wiphy_new
   :functions: wiphy_new


.. kernel-doc:: include/net/cfg80211.h
   :functions: wiphy_read_of_freq_limits

.. kernel-doc:: include/net/cfg80211.h
.. kernel-doc:: include/net/cfg80211.h
   :functions: wiphy_register
   :functions: wiphy_register


+4 −4
Original line number Original line Diff line number Diff line
@@ -156,12 +156,12 @@ struct ieee80211_regdomain mydriver_jp_regdom = {
	//.alpha2 =  "99", /* If I have no alpha2 to map it to */
	//.alpha2 =  "99", /* If I have no alpha2 to map it to */
	.reg_rules = {
	.reg_rules = {
		/* IEEE 802.11b/g, channels 1..14 */
		/* IEEE 802.11b/g, channels 1..14 */
		REG_RULE(2412-20, 2484+20, 40, 6, 20, 0),
		REG_RULE(2412-10, 2484+10, 40, 6, 20, 0),
		/* IEEE 802.11a, channels 34..48 */
		/* IEEE 802.11a, channels 34..48 */
		REG_RULE(5170-20, 5240+20, 40, 6, 20,
		REG_RULE(5170-10, 5240+10, 40, 6, 20,
			NL80211_RRF_NO_IR),
			NL80211_RRF_NO_IR),
		/* IEEE 802.11a, channels 52..64 */
		/* IEEE 802.11a, channels 52..64 */
		REG_RULE(5260-20, 5320+20, 40, 6, 20,
		REG_RULE(5260-10, 5320+10, 40, 6, 20,
			NL80211_RRF_NO_IR|
			NL80211_RRF_NO_IR|
			NL80211_RRF_DFS),
			NL80211_RRF_DFS),
	}
	}
@@ -205,7 +205,7 @@ the data in regdb.c as an alternative to using CRDA.
The file net/wireless/db.txt should be kept up-to-date with the db.txt
The file net/wireless/db.txt should be kept up-to-date with the db.txt
file available in the git repository here:
file available in the git repository here:


    git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-regdb.git
    git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git


Again, most users in most situations should be using the CRDA package
Again, most users in most situations should be using the CRDA package
provided with their distribution, and in most other situations users
provided with their distribution, and in most other situations users
+1 −2
Original line number Original line Diff line number Diff line
@@ -2451,8 +2451,7 @@ bool ath10k_htt_t2h_msg_handler(struct ath10k *ar, struct sk_buff *skb)
		u32 phymode = __le32_to_cpu(resp->chan_change.phymode);
		u32 phymode = __le32_to_cpu(resp->chan_change.phymode);
		u32 freq = __le32_to_cpu(resp->chan_change.freq);
		u32 freq = __le32_to_cpu(resp->chan_change.freq);


		ar->tgt_oper_chan =
		ar->tgt_oper_chan = ieee80211_get_channel(ar->hw->wiphy, freq);
			__ieee80211_get_channel(ar->hw->wiphy, freq);
		ath10k_dbg(ar, ATH10K_DBG_HTT,
		ath10k_dbg(ar, ATH10K_DBG_HTT,
			   "htt chan change freq %u phymode %s\n",
			   "htt chan change freq %u phymode %s\n",
			   freq, ath10k_wmi_phymode_str(phymode));
			   freq, ath10k_wmi_phymode_str(phymode));
+1 −1
Original line number Original line Diff line number Diff line
@@ -2078,7 +2078,7 @@ static int mwifiex_cfg80211_inform_ibss_bss(struct mwifiex_private *priv)
	ie_len = ie_buf[1] + sizeof(struct ieee_types_header);
	ie_len = ie_buf[1] + sizeof(struct ieee_types_header);


	band = mwifiex_band_to_radio_type(priv->curr_bss_params.band);
	band = mwifiex_band_to_radio_type(priv->curr_bss_params.band);
	chan = __ieee80211_get_channel(priv->wdev.wiphy,
	chan = ieee80211_get_channel(priv->wdev.wiphy,
			ieee80211_channel_to_frequency(bss_info.bss_chan,
			ieee80211_channel_to_frequency(bss_info.bss_chan,
						       band));
						       band));


Loading