08 Mar, 2020

1 commit

  • Merge Linux stable release v5.4.24 into imx_5.4.y

    * tag 'v5.4.24': (3306 commits)
    Linux 5.4.24
    blktrace: Protect q->blk_trace with RCU
    kvm: nVMX: VMWRITE checks unsupported field before read-only field
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm/boot/dts/imx6sll-evk.dts
    arch/arm/boot/dts/imx7ulp.dtsi
    arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
    drivers/clk/imx/clk-composite-8m.c
    drivers/gpio/gpio-mxc.c
    drivers/irqchip/Kconfig
    drivers/mmc/host/sdhci-of-esdhc.c
    drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    drivers/net/can/flexcan.c
    drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
    drivers/net/ethernet/mscc/ocelot.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
    drivers/net/phy/realtek.c
    drivers/pci/controller/mobiveil/pcie-mobiveil-host.c
    drivers/perf/fsl_imx8_ddr_perf.c
    drivers/tee/optee/shm_pool.c
    drivers/usb/cdns3/gadget.c
    kernel/sched/cpufreq.c
    net/core/xdp.c
    sound/soc/fsl/fsl_esai.c
    sound/soc/fsl/fsl_sai.c
    sound/soc/sof/core.c
    sound/soc/sof/imx/Kconfig
    sound/soc/sof/loader.c

    Jason Liu
     

05 Mar, 2020

3 commits

  • commit 9951ebfcdf2b97dbb28a5d930458424341e61aa2 upstream.

    If nl80211_parse_he_obss_pd() fails, we leak the previously
    allocated ACL memory. Free it in this case.

    Fixes: 796e90f42b7e ("cfg80211: add support for parsing OBBS_PD attributes")
    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200221104142.835aba4cdd14.I1923b55ba9989c57e13978f91f40bfdc45e60cbd@changeid
    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Johannes Berg
     
  • [ Upstream commit ea75080110a4c1fa011b0a73cb8f42227143ee3e ]

    The nl80211_policy is missing for NL80211_ATTR_STATUS_CODE attribute.
    As a result, for strictly validated commands, it's assumed to not be
    supported.

    Signed-off-by: Sergey Matyukevich
    Link: https://lore.kernel.org/r/20200213131608.10541-2-sergey.matyukevich.os@quantenna.com
    Signed-off-by: Johannes Berg
    Signed-off-by: Sasha Levin

    Sergey Matyukevich
     
  • [ Upstream commit bfb7bac3a8f47100ebe7961bd14e924c96e21ca7 ]

    When preparing ethtool drvinfo, check if wiphy driver is defined
    before dereferencing it. Driver may not exist, e.g. if wiphy is
    attached to a virtual platform device.

    Signed-off-by: Sergey Matyukevich
    Link: https://lore.kernel.org/r/20200203105644.28875-1-sergey.matyukevich.os@quantenna.com
    Signed-off-by: Johannes Berg
    Signed-off-by: Sasha Levin

    Sergey Matyukevich
     

06 Feb, 2020

3 commits

  • [ Upstream commit e16119655c9e6c4aa5767cd971baa9c491f41b13 ]

    After the introduction of CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3,
    the wext code produces a bogus warning:

    In function 'iw_handler_get_iwstats',
    inlined from 'ioctl_standard_call' at net/wireless/wext-core.c:1015:9,
    inlined from 'wireless_process_ioctl' at net/wireless/wext-core.c:935:10,
    inlined from 'wext_ioctl_dispatch.part.8' at net/wireless/wext-core.c:986:8,
    inlined from 'wext_handle_ioctl':
    net/wireless/wext-core.c:671:3: error: argument 1 null where non-null expected [-Werror=nonnull]
    memcpy(extra, stats, sizeof(struct iw_statistics));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from arch/x86/include/asm/string.h:5,
    net/wireless/wext-core.c: In function 'wext_handle_ioctl':
    arch/x86/include/asm/string_64.h:14:14: note: in a call to function 'memcpy' declared here

    The problem is that ioctl_standard_call() sometimes calls the handler
    with a NULL argument that would cause a problem for iw_handler_get_iwstats.
    However, iw_handler_get_iwstats never actually gets called that way.

    Marking that function as noinline avoids the warning and leads
    to slightly smaller object code as well.

    Signed-off-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20200107200741.3588770-1-arnd@arndb.de
    Signed-off-by: Johannes Berg
    Signed-off-by: Sasha Levin

    Arnd Bergmann
     
  • [ Upstream commit 26ec17a1dc5ecdd8d91aba63ead6f8b5ad5dea0d ]

    In case a radar event of CAC_FINISHED or RADAR_DETECTED
    happens during another phy is during CAC we might need
    to cancel that CAC.

    If we got a radar in a channel that another phy is now
    doing CAC on then the CAC should be canceled there.

    If, for example, 2 phys doing CAC on the same channels,
    or on comptable channels, once on of them will finish his
    CAC the other might need to cancel his CAC, since it is no
    longer relevant.

    To fix that the commit adds an callback and implement it in
    mac80211 to end CAC.
    This commit also adds a call to said callback if after a radar
    event we see the CAC is no longer relevant

    Signed-off-by: Orr Mazor
    Reviewed-by: Sergey Matyukevich
    Link: https://lore.kernel.org/r/20191222145449.15792-1-Orr.Mazor@tandemg.com
    [slightly reformat/reword commit message]
    Signed-off-by: Johannes Berg
    Signed-off-by: Sasha Levin

    Orr Mazor
     
  • [ Upstream commit c4b9d655e445a8be0bff624aedea190606b5ebbc ]

    Commit e33e2241e272 ("Revert "cfg80211: Use 5MHz bandwidth by
    default when checking usable channels"") fixed a broken
    regulatory (leaving channel 12 open for AP where not permitted).
    Apply a similar fix to custom regulatory domain processing.

    Signed-off-by: Cathy Luo
    Signed-off-by: Ganapathi Bhat
    Link: https://lore.kernel.org/r/1576836859-8945-1-git-send-email-ganapathi.bhat@nxp.com
    [reword commit message, fix coding style, add a comment]
    Signed-off-by: Johannes Berg
    Signed-off-by: Sasha Levin

    Ganapathi Bhat
     

23 Jan, 2020

5 commits

  • commit 24953de0a5e31dcca7e82c8a3c79abc2dfe8fb6e upstream.

    Check if set_wiphy_params is assigned and return an error if not,
    some drivers (e.g. virt_wifi where syzbot reported it) don't have
    it.

    Reported-by: syzbot+e8a797964a4180eb57d5@syzkaller.appspotmail.com
    Reported-by: syzbot+34b582cf32c1db008f8e@syzkaller.appspotmail.com
    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200113125358.ac07f276efff.Ibd85ee1b12e47b9efb00a2adc5cd3fac50da791a@changeid
    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Johannes Berg
     
  • commit 81c044fc3bdc5b7be967cd3682528ea94b58c06a upstream.

    The fragments attached to a skb can be part of a compound page. In that case,
    page_ref_inc will increment the refcount for the wrong page. Fix this by
    using get_page instead, which calls page_ref_inc on the compound head and
    also checks for overflow.

    Fixes: 2b67f944f88c ("cfg80211: reuse existing page fragments in A-MSDU rx")
    Cc: stable@vger.kernel.org
    Signed-off-by: Felix Fietkau
    Link: https://lore.kernel.org/r/20200113182107.20461-1-nbd@nbd.name
    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Felix Fietkau
     
  • commit df16737d438f534d0cc9948c7c5158f1986c5c87 upstream.

    The per-tid statistics need to be released after the call to rdev_get_station

    Cc: stable@vger.kernel.org
    Fixes: 8689c051a201 ("cfg80211: dynamically allocate per-tid stats for station info")
    Signed-off-by: Felix Fietkau
    Link: https://lore.kernel.org/r/20200108170630.33680-2-nbd@nbd.name
    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Felix Fietkau
     
  • commit 2a279b34169e9bbf7c240691466420aba75b4175 upstream.

    The per-tid statistics need to be released after the call to rdev_get_station

    Cc: stable@vger.kernel.org
    Fixes: 5ab92e7fe49a ("cfg80211: add support to probe unexercised mesh link")
    Signed-off-by: Felix Fietkau
    Link: https://lore.kernel.org/r/20200108170630.33680-1-nbd@nbd.name
    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Felix Fietkau
     
  • commit 5a128a088a2ab0b5190eeb232b5aa0b1017a0317 upstream.

    Use methods which do not try to acquire the wdev lock themselves.

    Cc: stable@vger.kernel.org
    Fixes: 37b1c004685a3 ("cfg80211: Support all iftypes in autodisconnect_wk")
    Signed-off-by: Markus Theil
    Link: https://lore.kernel.org/r/20200108115536.2262-1-markus.theil@tu-ilmenau.de
    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Markus Theil
     

12 Jan, 2020

1 commit

  • [ Upstream commit 56cb31e185adb61f930743a9b70e700a43625386 ]

    If wdev->wext.keys was initialized it didn't get reset to NULL on
    unregister (and it doesn't get set in cfg80211_init_wdev either), but
    wdev is reused if unregister was triggered through
    cfg80211_switch_netns.

    The next unregister (for whatever reason) will try to free
    wdev->wext.keys again.

    Signed-off-by: Stefan Bühler
    Link: https://lore.kernel.org/r/20191126100543.782023-1-stefan.buehler@tik.uni-stuttgart.de
    Signed-off-by: Johannes Berg
    Signed-off-by: Sasha Levin

    Stefan Bühler
     

25 Nov, 2019

1 commit

  • Pulling the following commits and some general changes from custom
    v3.10 kernel for supporting qcacld2.0 on kernel v4.9.11.
    1. cfg80211: Using new wiphy flag WIPHY_FLAG_DFS_OFFLOAD
    When flag WIPHY_FLAG_DFS_OFFLOAD is defined, the driver would handle
    all the DFS related operations. Therefore the kernel needs to ignore
    the DFS state that it uses to block the userspace calls to the driver
    through cfg80211 APIs. Also it should treat the userspace calls to
    start radar detection as a no-op.

    Please note that changes in util.c is not picked up explicitly.
    Kernel v4.9.11 uses wrapper cfg80211_get_chans_dfs_required which takes
    care of this change.

    Change-Id: I9dd2076945581ca67e54dfc96dd3dbc526c6f0a2
    IRs-Fixed: 202686

    2. New db.txt from git/sforshee/wireless-regdb.git
    CONFIG_CFG80211_INTERNAL_REGDB is enabled in build. This causes
    kernel warn messages as db.txt is empty. A new db.txt is added
    from:
    git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git

    IRs-Fixed: 202686

    3. Picked up the declaration and definition of the function
    cfg80211_is_gratuitous_arp_unsolicited_na

    Change-Id: I1e4083a2327c121073226aa6b75bb6b5b97cec00
    CRs-fixed: 1079453

    Signed-off-by: Nakul Kachhwaha
    Signed-off-by: Fugang Duan
    (Vipul: Fixed merge conflicts)
    (TODO: checkpatch warnings)
    Signed-off-by: Vipul Kumar

    Sherry Sun
     

30 Oct, 2019

2 commits

  • Mesh path nexthop should be a ethernet address, but current validation
    checks against 4 byte integers.

    Cc: stable@vger.kernel.org
    Fixes: 2ec600d672e74 ("nl80211/cfg80211: support for mesh, sta dumping")
    Signed-off-by: Markus Theil
    Link: https://lore.kernel.org/r/20191029093003.10355-1-markus.theil@tu-ilmenau.de
    Signed-off-by: Johannes Berg

    Markus Theil
     
  • This patch disables setting of HT20 and more for channel 14 because
    the channel is only for IEEE 802.11b.

    The patch for net/wireless/util.c was unit-tested.

    The patch for net/wireless/chan.c was tested with iw command.

    Before this patch.
    $ sudo iw dev set channel 14 HT20
    $

    After this patch.
    $ sudo iw dev set channel 14 HT20
    kernel reports: invalid channel definition
    command failed: Invalid argument (-22)
    $

    Signed-off-by: Masashi Honma
    Link: https://lore.kernel.org/r/20191021075045.2719-1-masashi.honma@gmail.com
    [clean up the code, use != instead of equivalent >]
    Signed-off-by: Johannes Berg

    Masashi Honma
     

08 Oct, 2019

3 commits

  • In non-ETSI regulatory domains scan is blocked when operating channel
    is a DFS channel. For ETSI, however, once DFS channel is marked as
    available after the CAC, this channel will remain available (for some
    time) even after leaving this channel.

    Therefore a scan can be done without any impact on the availability
    of the DFS channel as no new CAC is required after the scan.

    Enable scan in mac80211 in these cases.

    Signed-off-by: Aaron Komisar
    Link: https://lore.kernel.org/r/1570024728-17284-1-git-send-email-aaron.komisar@tandemg.com
    Signed-off-by: Johannes Berg

    Aaron Komisar
     
  • cfg80211_update_notlisted_nontrans() leaves the RCU critical session
    too early, while still using nontrans_ssid which is RCU protected. In
    addition, it performs a bunch of RCU pointer update operations such
    as rcu_access_pointer and rcu_assign_pointer.

    The caller, cfg80211_inform_bss_frame_data(), also accesses the RCU
    pointer without holding the lock.

    Just wrap all of this with bss_lock.

    Signed-off-by: Sara Sharon
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20191004123706.15768-3-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Sara Sharon
     
  • In nl80211_get_ftm_responder_stats, a new skb is created via nlmsg_new
    named msg. If nl80211hdr_put() fails, then msg should be released. The
    return statement should be replace by goto to error handling code.

    Fixes: 81e54d08d9d8 ("cfg80211: support FTM responder configuration/statistics")
    Signed-off-by: Navid Emamdoost
    Link: https://lore.kernel.org/r/20191004194220.19412-1-navid.emamdoost@gmail.com
    Signed-off-by: Johannes Berg

    Navid Emamdoost
     

04 Oct, 2019

1 commit

  • Ensure the SSID element is bounds-checked prior to invoking memcpy()
    with its length field, when copying to userspace.

    Cc:
    Cc: Kees Cook
    Reported-by: Nicolas Waisman
    Signed-off-by: Will Deacon
    Link: https://lore.kernel.org/r/20191004095132.15777-2-will@kernel.org
    [adjust commit log a bit]
    Signed-off-by: Johannes Berg

    Will Deacon
     

01 Oct, 2019

4 commits

  • If the interface is not in MESH mode, the command 'iw wlanx mpath del'
    will cause kernel panic.

    The root cause is null pointer access in mpp_flush_by_proxy(), as the
    pointer 'sdata->u.mesh.mpp_paths' is NULL for non MESH interface.

    Unable to handle kernel NULL pointer dereference at virtual address 00000068
    [...]
    PC is at _raw_spin_lock_bh+0x20/0x5c
    LR is at mesh_path_del+0x1c/0x17c [mac80211]
    [...]
    Process iw (pid: 4537, stack limit = 0xd83e0238)
    [...]
    [] (_raw_spin_lock_bh) from [] (mesh_path_del+0x1c/0x17c [mac80211])
    [] (mesh_path_del [mac80211]) from [] (extack_doit+0x20/0x68 [compat])
    [] (extack_doit [compat]) from [] (genl_rcv_msg+0x274/0x30c)
    [] (genl_rcv_msg) from [] (netlink_rcv_skb+0x58/0xac)
    [] (netlink_rcv_skb) from [] (genl_rcv+0x20/0x34)
    [] (genl_rcv) from [] (netlink_unicast+0x11c/0x204)
    [] (netlink_unicast) from [] (netlink_sendmsg+0x30c/0x370)
    [] (netlink_sendmsg) from [] (sock_sendmsg+0x70/0x84)
    [] (sock_sendmsg) from [] (___sys_sendmsg.part.3+0x188/0x228)
    [] (___sys_sendmsg.part.3) from [] (__sys_sendmsg+0x4c/0x70)
    [] (__sys_sendmsg) from [] (ret_fast_syscall+0x0/0x44)
    Code: e2822c02 e2822001 e5832004 f590f000 (e1902f9f)
    ---[ end trace bbd717600f8f884d ]---

    Signed-off-by: Miaoqing Pan
    Link: https://lore.kernel.org/r/1569485810-761-1-git-send-email-miaoqing@codeaurora.org
    [trim useless data from commit message]
    Signed-off-by: Johannes Berg

    Miaoqing Pan
     
  • In a few places we don't properly initialize on-stack chandefs,
    resulting in EDMG data to be non-zero, which broke things.

    Additionally, in a few places we rely on the driver to init the
    data completely, but perhaps we shouldn't as non-EDMG drivers
    may not initialize the EDMG data, also initialize it there.

    Cc: stable@vger.kernel.org
    Fixes: 2a38075cd0be ("nl80211: Add support for EDMG channels")
    Reported-by: Dmitry Osipenko
    Tested-by: Dmitry Osipenko
    Link: https://lore.kernel.org/r/1569239475-I2dcce394ecf873376c386a78f31c2ec8b538fa25@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • The code copying the data assumes that the SSID element is
    before the MBSSID element, but since the data is untrusted
    from the AP, this cannot be guaranteed.

    Validate that this is indeed the case and ignore the MBSSID
    otherwise, to avoid having to deal with both cases for the
    copy of data that should be between them.

    Cc: stable@vger.kernel.org
    Fixes: 0b8fb8235be8 ("cfg80211: Parsing of Multiple BSSID information in scanning")
    Link: https://lore.kernel.org/r/1569009255-I1673911f5eae02964e21bdc11b2bf58e5e207e59@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • We currently don't validate the beacon head, i.e. the header,
    fixed part and elements that are to go in front of the TIM
    element. This means that the variable elements there can be
    malformed, e.g. have a length exceeding the buffer size, but
    most downstream code from this assumes that this has already
    been checked.

    Add the necessary checks to the netlink policy.

    Cc: stable@vger.kernel.org
    Fixes: ed1b6cc7f80f ("cfg80211/nl80211: add beacon settings")
    Link: https://lore.kernel.org/r/1569009255-I7ac7fbe9436e9d8733439eab8acbbd35e55c74ef@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     

11 Sep, 2019

6 commits

  • …inux/kernel/git/jberg/mac80211-next

    Johannes Berg says:

    ====================
    We have a number of changes, but things are settling down:
    * a fix in the new 6 GHz channel support
    * a fix for recent minstrel (rate control) updates
    for an infinite loop
    * handle interface type changes better wrt. management frame
    registrations (for management frames sent to userspace)
    * add in-BSS RX time to survey information
    * handle HW rfkill properly if !CONFIG_RFKILL
    * send deauth on IBSS station expiry, to avoid state mismatches
    * handle deferred crypto tailroom updates in mac80211 better
    when device restart happens
    * fix a spectre-v1 - really a continuation of a previous patch
    * advertise NL80211_CMD_UPDATE_FT_IES as supported if so
    * add some missing parsing in VHT extended NSS support
    * support HE in mac80211_hwsim
    * let mac80211 drivers determine the max MTU themselves
    along with the usual cleanups etc.
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • Currently frame registrations are not purged, even when changing the
    interface type. This can lead to potentially weird situations where
    frames possibly not allowed on a given interface type remain registered
    due to the type switching happening after registration.

    The kernel currently relies on userspace apps to actually purge the
    registrations themselves, this is not something that the kernel should
    rely on.

    Add a call to cfg80211_mlme_purge_registrations() to forcefully remove
    any registrations left over prior to switching the iftype.

    Cc: stable@vger.kernel.org
    Signed-off-by: Denis Kenzior
    Link: https://lore.kernel.org/r/20190828211110.15005-1-denkenz@gmail.com
    Signed-off-by: Johannes Berg

    Denis Kenzior
     
  • commit 1222a1601488 ("nl80211: Fix possible Spectre-v1 for CQM
    RSSI thresholds") was incomplete and requires one more fix to
    prevent accessing to rssi_thresholds[n] because user can control
    rssi_thresholds[i] values to make i reach to n. For example,
    rssi_thresholds = {-400, -300, -200, -100} when last is -34.

    Cc: stable@vger.kernel.org
    Fixes: 1222a1601488 ("nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds")
    Reported-by: Dan Carpenter
    Signed-off-by: Masashi Honma
    Link: https://lore.kernel.org/r/20190908005653.17433-1-masashi.honma@gmail.com
    Signed-off-by: Johannes Berg

    Masashi Honma
     
  • With the help of boolinit.cocci, we use !nl80211_reg_change_event_fill
    instead of (nl80211_reg_change_event_fill == false). Meanwhile, Clean
    up the code.

    Signed-off-by: zhong jiang
    Link: https://lore.kernel.org/r/1567657537-65472-1-git-send-email-zhongjiang@huawei.com
    Signed-off-by: Johannes Berg

    zhong jiang
     
  • When the RFKILL subsystem isn't available, then rfkill_blocked()
    always returns false. In the case of hardware rfkill this will
    be wrong though, as if the hardware reported being killed then
    it cannot operate any longer.

    Since we only ever call the rfkill_sync work in this case, just
    rename it to rfkill_block and always pass "true" for the blocked
    parameter, rather than passing rfkill_blocked().

    We rely on the underlying driver to still reject any new attempt
    to bring up the device by itself.

    Signed-off-by: Johannes Berg
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20190830112451.21655-2-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • The boundary value used for the 6G band was incorrect as it would
    result in invalid 6G channel number for certain frequencies.

    Reported-by: Amar Singhal
    Signed-off-by: Arend van Spriel
    Link: https://lore.kernel.org/r/1567510772-24263-1-git-send-email-arend.vanspriel@broadcom.com
    Signed-off-by: Johannes Berg

    Arend van Spriel
     

30 Aug, 2019

1 commit


28 Aug, 2019

1 commit


23 Aug, 2019

1 commit

  • Add NL80211_CMD_UPDATE_FT_IES to supported commands. In mac80211 drivers,
    this can be implemented via existing NL80211_CMD_AUTHENTICATE and
    NL80211_ATTR_IE, but non-mac80211 drivers have a separate command for
    this. A driver supports FT if it either is mac80211 or supports this
    command.

    Signed-off-by: Matthew Wang
    Reviewed-by: Brian Norris
    Link: https://lore.kernel.org/r/20190822174806.2954-1-matthewmwang@chromium.org
    Signed-off-by: Johannes Berg

    Matthew Wang
     

21 Aug, 2019

7 commits

  • 802.11ay specification defines Enhanced Directional Multi-Gigabit
    (EDMG) STA and AP which allow channel bonding of 2 channels and more.

    Introduce new NL attributes that are needed for enabling and
    configuring EDMG support.

    Two new attributes are used by kernel to publish driver's EDMG
    capabilities to the userspace:
    NL80211_BAND_ATTR_EDMG_CHANNELS - bitmap field that indicates the 2.16
    GHz channel(s) that are supported by the driver.
    When this attribute is not set it means driver does not support EDMG.
    NL80211_BAND_ATTR_EDMG_BW_CONFIG - represent the channel bandwidth
    configurations supported by the driver.

    Additional two new attributes are used by the userspace for connect
    command and for AP configuration:
    NL80211_ATTR_WIPHY_EDMG_CHANNELS
    NL80211_ATTR_WIPHY_EDMG_BW_CONFIG

    New rate info flag - RATE_INFO_FLAGS_EDMG, can be reported from driver
    and used for bitrate calculation that will take into account EDMG
    according to the 802.11ay specification.

    Signed-off-by: Alexei Avshalom Lazar
    Link: https://lore.kernel.org/r/1566138918-3823-2-git-send-email-ailizaro@codeaurora.org
    Signed-off-by: Johannes Berg

    Alexei Avshalom Lazar
     
  • Report timestamp of when sta became associated.

    This is the boottime clock, units are nano-seconds.

    Signed-off-by: Ben Greear
    Link: https://lore.kernel.org/r/20190809180001.26393-1-greearb@candelatech.com
    Signed-off-by: Johannes Berg

    Ben Greear
     
  • For the new 6GHz band the same rules apply for mandatory rates so
    add it to set_mandatory_flags_band() function.

    Reviewed-by: Pieter-Paul Giesberts
    Reviewed-by: Leon Zegers
    Signed-off-by: Arend van Spriel
    Link: https://lore.kernel.org/r/1564745465-21234-9-git-send-email-arend.vanspriel@broadcom.com
    Signed-off-by: Johannes Berg

    Arend van Spriel
     
  • The default mandatory rates, ie. when not specified by user-space, is
    determined by the band. Select 11a rateset for 6GHz band.

    Reviewed-by: Pieter-Paul Giesberts
    Reviewed-by: Leon Zegers
    Signed-off-by: Arend van Spriel
    Link: https://lore.kernel.org/r/1564745465-21234-8-git-send-email-arend.vanspriel@broadcom.com
    Signed-off-by: Johannes Berg

    Arend van Spriel
     
  • The function cfg80211_ir_permissive_chan() is applicable for
    6GHz band as well so make sure it is handled.

    Reviewed-by: Pieter-Paul Giesberts
    Reviewed-by: Leon Zegers
    Signed-off-by: Arend van Spriel
    Link: https://lore.kernel.org/r/1564745465-21234-7-git-send-email-arend.vanspriel@broadcom.com
    Signed-off-by: Johannes Berg

    Arend van Spriel
     
  • In nl80211.c there is a policy for all bands in NUM_NL80211_BANDS and
    in trace.h there is a callback trace for multicast rates which is per
    band in NUM_NL80211_BANDS. Both need to be extended for the new
    NL80211_BAND_6GHZ.

    Reviewed-by: Pieter-Paul Giesberts
    Reviewed-by: Leon Zegers
    Signed-off-by: Arend van Spriel
    Link: https://lore.kernel.org/r/1564745465-21234-6-git-send-email-arend.vanspriel@broadcom.com
    Signed-off-by: Johannes Berg

    Arend van Spriel
     
  • Add 6GHz operating class range as defined in 802.11ax D4.1 Annex E.

    Reviewed-by: Pieter-Paul Giesberts
    Reviewed-by: Leon Zegers
    Signed-off-by: Arend van Spriel
    Link: https://lore.kernel.org/r/1564745465-21234-5-git-send-email-arend.vanspriel@broadcom.com
    Signed-off-by: Johannes Berg

    Arend van Spriel