Commit Graph

96 Commits

Author SHA1 Message Date
Jose Ignacio Tornos Martinez 4ad1084dfd wifi: iwlwifi: fix some kernel-doc issues
JIRA: https://issues.redhat.com/browse/RHEL-34696

commit 8a41c017409198dd4de5a4c522cd5ae4810a5911
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Sun Jan 28 08:53:50 2024 +0200

    wifi: iwlwifi: fix some kernel-doc issues
    
    Add return descriptions, move description contents after
    (parameter) sections and fix short descriptions.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Link: https://msgid.link/20240128084842.02ac00f67239.I4ad17097badfcbb82ccdb8c126f61a6f3170798e@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2024-06-17 09:18:59 +02:00
Íñigo Huguet a0c857fa4d wifi: iwlwifi: add a few rate index validity checks
Bugzilla: https://bugzilla.redhat.com/2196821

commit efbe8f81952fe469d38655744627d860879dcde8
Author: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
Date:   Wed Jun 14 12:41:37 2023 +0300

    wifi: iwlwifi: add a few rate index validity checks
    
    Validate index before access iwl_rate_mcs to keep rate->index
    inside the valid boundaries. Use MCS_0_INDEX if index is less
    than MCS_0_INDEX and MCS_9_INDEX if index is greater then
    MCS_9_INDEX.
    
    Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230614123447.79f16b3aef32.If1137f894775d6d07b78cbf3a6163ffce6399507@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:16:41 +02:00
Íñigo Huguet 9c45d3399d wifi: iwlwifi: mvm: spin_lock_bh() to fix lockdep regression
Bugzilla: https://bugzilla.redhat.com/2196821

commit f1a0898b5d6a77d332d036da03bad6fa9770de5b
Author: Hugh Dickins <hughd@google.com>
Date:   Fri Jun 9 14:29:39 2023 -0700

    wifi: iwlwifi: mvm: spin_lock_bh() to fix lockdep regression
    
    Lockdep on 6.4-rc on ThinkPad X1 Carbon 5th says
    =====================================================
    WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected
    6.4.0-rc5 #1 Not tainted
    -----------------------------------------------------
    kworker/3:1/49 [HC0[0]:SC0[4]:HE1:SE0] is trying to acquire:
    ffff8881066fa368 (&mvm_sta->deflink.lq_sta.rs_drv.pers.lock){+.+.}-{2:2}, at: rs_drv_get_rate+0x46/0xe7
    
    and this task is already holding:
    ffff8881066f80a8 (&sta->rate_ctrl_lock){+.-.}-{2:2}, at: rate_control_get_rate+0xbd/0x126
    which would create a new lock dependency:
     (&sta->rate_ctrl_lock){+.-.}-{2:2} -> (&mvm_sta->deflink.lq_sta.rs_drv.pers.lock){+.+.}-{2:2}
    
    but this new dependency connects a SOFTIRQ-irq-safe lock:
     (&sta->rate_ctrl_lock){+.-.}-{2:2}
    etc. etc. etc.
    
    Changing the spin_lock() in rs_drv_get_rate() to spin_lock_bh() was not
    enough to pacify lockdep, but changing them all on pers.lock has worked.
    
    Fixes: a8938bc881d2 ("wifi: iwlwifi: mvm: Add locking to the rate read flow")
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Link: https://lore.kernel.org/r/79ffcc22-9775-cb6d-3ffd-1a517c40beef@google.com
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:16:36 +02:00
Íñigo Huguet 17b7f4b7af wifi: iwlwifi: mvm: Add locking to the rate read flow
Bugzilla: https://bugzilla.redhat.com/2196821

commit a8938bc881d2a03f9b77f19fae924fe798a01285
Author: Ariel Malamud <ariel.malamud@intel.com>
Date:   Sun May 14 12:15:55 2023 +0300

    wifi: iwlwifi: mvm: Add locking to the rate read flow
    
    The rs_drv_get_rate flow reads the lq_sta to return the optimal rate
    for tx frames. This read flow is not protected thereby leaving
    a small window, a few instructions wide, open to contention by an
    asynchronous rate update. Indeed this race condition was hit and the
    update occurred in the middle of the read.
    
    Fix this by locking the lq_sta struct during read.
    
    Signed-off-by: Ariel Malamud <ariel.malamud@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230514120631.b52c9ed5c379.I15290b78e0d966c1b68278263776ca9de841d5fe@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:16:32 +02:00
Íñigo Huguet 7fe2cac4e0 wifi: iwlwifi: mvm: remove RS rate init update argument
Bugzilla: https://bugzilla.redhat.com/2196821

commit 15d4183425a6282bd673b6cdd198ec9335503e62
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Mon Apr 17 11:41:29 2023 +0300

    wifi: iwlwifi: mvm: remove RS rate init update argument
    
    Track instead whether or not the station was authorized, that's
    clearer than trying to indicate in the code whether or not the
    full bandwidth should be used via an 'update' argument.
    
    While at it, give rs_fw_rate_init() the iwl_mvm_ prefix.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230417113648.92bd8d36e311.I1877a109104d5ffeaaad6a623e89f0c44decc38e@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:16:16 +02:00
Íñigo Huguet 0b3685cf1f wifi: iwlwifi: mvm: only clients can be 20MHz-only
Bugzilla: https://bugzilla.redhat.com/2196821

commit c45217bd3f2e01f89f2afe6ee28151df12420f65
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Mon Apr 17 11:41:26 2023 +0300

    wifi: iwlwifi: mvm: only clients can be 20MHz-only
    
    Since only clients to an AP can be 20MHz-only STAs, adjust the
    code to not make the use of EHT capabilities depend on only the
    bandwidth, but also the type of interface.
    
    Fixes: 701404f1091d ("wifi: iwlwifi: rs: add support for parsing max MCS per NSS/BW in 11be")
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230417113648.a3a4c931e4a3.I693a07f4d88044c889eee04793883a83bc5ee362@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:16:16 +02:00
Íñigo Huguet ed55272d0d wifi: iwlwifi: mvm: move max_agg_bufsize into host TLC lq_sta
Bugzilla: https://bugzilla.redhat.com/2196821

commit 59c2d94bba838b61733186e490d4febaec8e93a6
Author: Gregory Greenman <gregory.greenman@intel.com>
Date:   Wed Mar 29 10:05:36 2023 +0300

    wifi: iwlwifi: mvm: move max_agg_bufsize into host TLC lq_sta
    
    This field is used only for host TLC, so it can reside inside
    the corresponding lq_sta struct. Also, TLC lq_sta is cleared
    in iwl_mvm_rs_rate_init() upon association, but max_agg_bufsize
    is set earlier in iwl_mvm_sta_init(). Thus, place this field
    in the persistent part of lq_sta to retain its value.
    
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230329100040.d55361064e39.Ib79d30f27d94607d097f0192af2aacd455a17958@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:21 +02:00
Íñigo Huguet 6d121bd316 wifi: iwlwifi: mvm: adjust rs init to MLO
Bugzilla: https://bugzilla.redhat.com/2196821

commit f53be9c4bef6858df46d7bd9246a72789e63d5fc
Author: Gregory Greenman <gregory.greenman@intel.com>
Date:   Wed Mar 29 10:05:16 2023 +0300

    wifi: iwlwifi: mvm: adjust rs init to MLO
    
    Rate scale initialization needs some parameters stored
    separately for each link. Pass link_conf and link_sta
    pointers and adjust the relevant code accordingly.
    
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230329100039.e2f458198844.I98bf3ea807dd8ae8d703915ce9c01e7b7d5ccb42@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:16 +02:00
Íñigo Huguet b57a5bcd1e wifi: iwlwifi: mvm: sta preparation for MLO
Bugzilla: https://bugzilla.redhat.com/2196821

commit c8ee33e184e4163586cc6c786d5c14dcdf6f4e07
Author: Gregory Greenman <gregory.greenman@intel.com>
Date:   Tue Mar 28 10:58:42 2023 +0300

    wifi: iwlwifi: mvm: sta preparation for MLO
    
    Split iwl_mvm_sta into general and link specific parts. As a first
    step, all link dependent parameters reside in deflink.
    
    The change was done mostly using the spatch below with some manual
    adjustments.
    
    @iwl_mvm_sta@
    struct iwl_mvm_sta *s;
    identifier var = {sta_id, lq_sta, avg_energy};
    @@
    
    (
      s->
    -    var
    +    deflink.var
    )
    
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230328104948.34eace06d583.I1f8c5e919a71b21030460fbdd220d42401b688b1@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:15:07 +02:00
Íñigo Huguet 2a25ac1a9a wifi: iwlwifi: mvm: rs: print BAD_RATE for invalid HT/VHT index
Bugzilla: https://bugzilla.redhat.com/2196821

commit 71a54f7e74488f234fb56270253bcd08a3357d0e
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Mar 14 19:49:32 2023 +0200

    wifi: iwlwifi: mvm: rs: print BAD_RATE for invalid HT/VHT index
    
    If there's a rate->index that maps inside the range but
    to an uninitialized value, then that's also a bad rate,
    avoid printing "(nil)" in that case and rather print the
    "BAD_RATE" string instead as in the else branch.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230314194113.06b38d160fc5.I45a9254d3658b1ce796aa4c427193d3cbf638d7e@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:14:51 +02:00
Íñigo Huguet 26019b49f6 wifi: iwlwifi: mvm: remove setting of 'sta' parameter
Bugzilla: https://bugzilla.redhat.com/2196821

commit 093e71e26d67c2b0d194b34a7b56432bab049e90
Author: Tom Rix <trix@redhat.com>
Date:   Tue Mar 14 19:49:27 2023 +0200

    wifi: iwlwifi: mvm: remove setting of 'sta' parameter
    
    cppcheck reports
    [drivers/net/wireless/intel/iwlwifi/mvm/rs.c:2686]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
    
    The setting of the 'sta' parameter is not needed.  In the if-check that sets it
    to NULL, mvm_sta is also set to NULL.  Then the next statement checks if
    mvm_sta is NULL and does an early return. So remove setting sta.
    
    Signed-off-by: Tom Rix <trix@redhat.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230314194113.711fe28cfdd6.I2f723f9d44f65720baaf3e84b72109759350a8f5@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:14:50 +02:00
Íñigo Huguet b2b3386710 wifi: iwlwifi: mvm: clean up duplicated defines
Bugzilla: https://bugzilla.redhat.com/2196821

commit 774302d2d3ad916f415d651362550daf22f630b7
Author: Mordechay Goodstein <mordechay.goodstein@intel.com>
Date:   Sun Mar 5 14:16:31 2023 +0200

    wifi: iwlwifi: mvm: clean up duplicated defines
    
    VHT, HE and EHT rates use the same bits for NSS, so no need for
    defines per PHY version.
    
    Also use spatch to replace bit manipulation with FIELD_GET:
    
      @@
      identifier rate;
      @@
      -((rate & RATE_MCS_NSS_MSK) >> RATE_MCS_NSS_POS)
      +FIELD_GET(RATE_MCS_NSS_MSK, rate)
    
    Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230305124407.167ed9477aa8.Ibd8e71d31896e8d8f067ce4e3a6e9a0e86c78f3f@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2023-07-26 13:14:39 +02:00
Jose Ignacio Tornos Martinez a1c81270cd wifi: mac80211: keep A-MSDU data in sta and per-link
Bugzilla: https://bugzilla.redhat.com/2136124

commit 4c51541ddb78cef2da9c4c30006c0d9d06ea9a77
Author: Benjamin Berg <benjamin.berg@intel.com>
Date:   Fri Sep 2 16:12:54 2022 +0200

    wifi: mac80211: keep A-MSDU data in sta and per-link
    
    The A-MSDU data needs to be stored per-link and aggregated into a single
    value for the station. Add a new struct ieee_80211_sta_aggregates in
    order to store this data and a new function
    ieee80211_sta_recalc_aggregates to update the current data for the STA.
    
    Note that in the non MLO case the pointer in ieee80211_sta will directly
    reference the data in deflink.agg, which means that recalculation may be
    skipped in that case.
    
    Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2023-01-27 13:40:33 +01:00
Jose Ignacio Tornos Martinez 966db5f5e8 wifi: mac80211: make smps_mode per-link
Bugzilla: https://bugzilla.redhat.com/2136124

commit 261ce8879578f42bc1ff3385ff1be8e31d6fb160
Author: Benjamin Berg <benjamin.berg@intel.com>
Date:   Fri Sep 2 16:12:41 2022 +0200

    wifi: mac80211: make smps_mode per-link
    
    The SMPS power save mode needs to be per-link rather than being shared
    for all links. As such, move it into struct ieee80211_link_sta.
    
    Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
2023-01-27 13:40:31 +01:00
Íñigo Huguet 0a3c53ba12 wifi: mac80211: move ps setting to vif config
Bugzilla: https://bugzilla.redhat.com/2136122

Conflicts: removed chunk from unsupported driver wfx

commit a3b8008dc1421a6f1d0d92cfc1352d729f6756c1
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Fri Jun 24 15:02:16 2022 +0200

    wifi: mac80211: move ps setting to vif config
    
    This really shouldn't be in a per-link config, we don't want
    to let anyone control it that way (if anything, link powersave
    could be forced through APIs to activate/deactivate a link),
    and we don't support powersave in software with devices that
    can do MLO.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-11-28 12:57:28 +01:00
Íñigo Huguet a06a72bff7 wifi: mac80211: move some future per-link data to bss_conf
Bugzilla: https://bugzilla.redhat.com/2136122

commit d0a9123ef548def5c8880e83e5df948eb5b55c62
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue May 10 13:26:44 2022 +0200

    wifi: mac80211: move some future per-link data to bss_conf
    
    To add MLD, reuse the bss_conf structure later for per-link
    information, so move some things into it that are per link.
    
    Most transformations were done with the following spatch:
    
        @@
        expression sdata;
        identifier var = { chanctx_conf, mu_mimo_owner, csa_active, color_change_active, color_change_color };
        @@
        -sdata->vif.var
        +sdata->vif.bss_conf.var
    
        @@
        struct ieee80211_vif *vif;
        identifier var = { chanctx_conf, mu_mimo_owner, csa_active, color_change_active, color_change_color };
        @@
        -vif->var
        +vif->bss_conf.var
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-11-28 12:56:58 +01:00
Íñigo Huguet bd61560ce8 mac80211: prepare sta handling for MLO support
Bugzilla: https://bugzilla.redhat.com/2136122

Conflicts: removed chunks of unsupported drivers wcn36xx, 91x and wfx

commit 046d2e7c50e3087a32a85fd384c21f896dbccf83
Author: Sriram R <quic_srirrama@quicinc.com>
Date:   Mon Apr 4 21:11:23 2022 +0530

    mac80211: prepare sta handling for MLO support
    
    Currently in mac80211 each STA object is represented
    using sta_info datastructure with the associated
    STA specific information and drivers access ieee80211_sta
    part of it.
    
    With MLO (Multi Link Operation) support being added
    in 802.11be standard, though the association is logically
    with a single Multi Link capable STA, at the physical level
    communication can happen via different advertised
    links (uniquely identified by Channel, operating class,
    BSSID) and hence the need to handle multiple link
    STA parameters within a composite sta_info object
    called the MLD STA. The different link STA part of
    MLD STA are identified using the link address which can
    be same or different as the MLD STA address and unique
    link id based on the link vif.
    
    To support extension of such a model, the sta_info
    datastructure is modified to hold multiple link STA
    objects with link specific params currently within
    sta_info moved to this new structure. Similarly this is
    done for ieee80211_sta as well which will be accessed
    within mac80211 as well as by drivers, hence trivial
    driver changes are expected to support this.
    
    For current non MLO supported drivers, only one link STA
    is present and link information is accessed via 'deflink'
    member.
    
    For MLO drivers, we still need to define the APIs etc. to
    get the correct link ID and access the correct part of
    the station info.
    
    Currently in mac80211, all link STA info are accessed directly
    via deflink. These will be updated to access via link pointers
    indexed by link id with MLO support patches, with link id
    being 0 for non MLO supported cases.
    
    Except for couple of macro related changes, below spatch takes
    care of updating mac80211 and driver code to access to the
    link STA info via deflink.
    
      @ieee80211_sta@
      struct ieee80211_sta *s;
      struct sta_info *si;
      identifier var = {supp_rates, ht_cap, vht_cap, he_cap, he_6ghz_capa, eht_cap, rx_nss, bandwidth, txpwr};
      @@
    
      (
        s->
      -    var
      +    deflink.var
      |
       si->sta.
      -    var
      +    deflink.var
      )
    
      @sta_info@
      struct sta_info *si;
      identifier var = {gtk, pcpu_rx_stats, rx_stats, rx_stats_avg, status_stats, tx_stats, cur_max_bandwidth};
      @@
    
      (
        si->
      -    var
      +    deflink.var
      )
    
    Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
    Link: https://lore.kernel.org/r/1649086883-13246-1-git-send-email-quic_srirrama@quicinc.com
    [remove MLO-drivers notes from commit message, not clear yet; run spatch]
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-11-28 12:56:21 +01:00
Íñigo Huguet 8fcbaa58f2 iwlwifi: remove unused macros
Bugzilla: https://bugzilla.redhat.com/2059999

commit 86371b735f5821503b83360d72b6bdb044551779
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Fri Feb 4 12:25:08 2022 +0200

    iwlwifi: remove unused macros
    
    Found with W=2, remove unused macros in C files. In one case
    move the macro under the corresponding ifdef.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20220204122220.068c6052689b.Idbb7a87c2fd93619c1765c7f4ed15190c3fef2a7@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-05-31 14:50:52 +02:00
Íñigo Huguet 31155805e5 iwlwifi: mvm: Support new TX_RSP and COMPRESSED_BA_RES versions
Bugzilla: http://bugzilla.redhat.com/2043454

commit dc52fac37c874cfb909caf6bef34edf69503b979
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Sun Oct 17 16:25:57 2021 +0300

    iwlwifi: mvm: Support new TX_RSP and COMPRESSED_BA_RES versions
    
    As part of the new rate_n_flags, a new version of this
    structures was added in the FW. Add support for this new
    version and for the new rate_n_flags in this API.
    Both these APIs were updated in one patch since they are
    using the same functions.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20211017162352.a28e7a92f558.I19f72735c674f815c6e7c11cecfad6230b4510ef@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-02-21 11:40:34 +01:00
Íñigo Huguet 70c159dfe1 iwlwifi: mvm: Support version 3 of tlc_update_notif.
Bugzilla: http://bugzilla.redhat.com/2043454

commit 82cdbd11b60a19e59f7991350b0c4e901c48c687
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Sun Oct 17 12:40:17 2021 +0300

    iwlwifi: mvm: Support version 3 of tlc_update_notif.
    
    As part of the new rate_n_flags, a new version of tlc_update_notif
    was added in FW in order to support the new rate_n_flags.
    Add support for the new version, and move the all API to use the
    new rate_n_flags only (if FW supports the old one - convert it).
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20211017123741.9fc0cb5d5898.I1f88e02317f79f1be7f792c01236d836045a44b3@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-02-21 11:40:33 +01:00
Íñigo Huguet 3ceb22a999 iwlwifi: mvm: update definitions due to new rate & flags
Bugzilla: http://bugzilla.redhat.com/2043454

commit 48c6ebc13c1ce184716b1380d26fcc41e212fa5f
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Sun Oct 17 12:40:14 2021 +0300

    iwlwifi: mvm: update definitions due to new rate & flags
    
    As a part of preparing to the new rate & flags version
    Update the relevant definitions and use them.
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20211017123741.5862bf4f14c4.Ib476b5443faa085539b79d49a0aebd81a213b42f@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-02-21 11:40:33 +01:00
Íñigo Huguet 519ef381ef iwlwifi: remove contact information
Bugzilla: http://bugzilla.redhat.com/2043454

commit 854fe828e58ceafbab92d408ad344a168ea41555
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Sun Oct 17 11:43:48 2021 +0300

    iwlwifi: remove contact information
    
    The list address is going away, and the postal address isn't
    useful, remove all the contact information.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20211017113927.f73e3b6384cb.I967fd394995461277eafa149bb25cefd1673751e@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-02-21 11:40:32 +01:00
Íñigo Huguet 86080afbcf iwlwifi: mvm: Remove antenna c references
Bugzilla: http://bugzilla.redhat.com/2043454

commit 57b7b345d279d08a6129dc61099b454847f71091
Author: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Date:   Sun Oct 17 11:43:44 2021 +0300

    iwlwifi: mvm: Remove antenna c references
    
    Since antenna c is not in use and won't be relevant after the new rate &
    flags, remove all it's references
    
    Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20211017113927.5e39106ec75b.I4281edc844f734bf9591396a5cc8009ad37ccda8@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-02-21 11:40:32 +01:00
Mordechay Goodstein aa1540ca76 iwlwifi: mvm: remove PS from lower rates.
Power save (PS) should only be enabled when we reach the max phy rate.
Before we reach it (MCS_9) for VHT, we should keep trying to improve the
throughput.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210411124417.2a2fb9f9c25e.I7c7bbcfbdc1d35d2c3338778fb397dd5b08ea0e8@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2021-04-14 12:07:19 +03:00
Lee Jones 05d07f2dc9 iwlwifi: mvm: rs: Demote non-conformant function documentation headers
Also add documentation for 'mvm'.

Fixes the following W=1 kernel build warning(s):

 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:400: warning: cannot understand function prototype: 'const u16 expected_tpt_legacy[IWL_RATE_COUNT] = '
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:684: warning: Function parameter or member 'mvm' not described in '_rs_collect_tx_data'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:684: warning: Function parameter or member 'tbl' not described in '_rs_collect_tx_data'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:684: warning: Function parameter or member 'scale_index' not described in '_rs_collect_tx_data'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:684: warning: Function parameter or member 'attempts' not described in '_rs_collect_tx_data'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:684: warning: Function parameter or member 'successes' not described in '_rs_collect_tx_data'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:684: warning: Function parameter or member 'window' not described in '_rs_collect_tx_data'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:2677: warning: duplicate section name 'NOTE'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:2682: warning: Function parameter or member 'mvm' not described in 'rs_initialize_lq'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:2682: warning: Function parameter or member 'sta' not described in 'rs_initialize_lq'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:2682: warning: Function parameter or member 'lq_sta' not described in 'rs_initialize_lq'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:2682: warning: Function parameter or member 'band' not described in 'rs_initialize_lq'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:3761: warning: Function parameter or member 'mvm' not described in 'rs_program_fix_rate'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:3761: warning: Function parameter or member 'lq_sta' not described in 'rs_program_fix_rate'
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c:4213: warning: Function parameter or member 'mvm' not described in 'iwl_mvm_tx_protection'

Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Cc: Luca Coelho <luciano.coelho@intel.com>
Cc: Intel Linux Wireless <linuxwifi@intel.com>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201126133152.3211309-3-lee.jones@linaro.org
2020-12-11 20:24:20 +02:00
Mordechay Goodstein 507a13f5c9 iwlwifi: rs: set RTS protection for all non legacy rates
This helps with congested environments reducing the conflict cost to
RTS retries only, instead of the entire BA packet.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200928121852.da97d87d7adf.If06301d4660b14e459195a15831b069b9f6c5e3c@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-10-01 21:59:36 +03:00
Colin Ian King ce475a8fb2 iwlwifi: mvm: remove redundant assignment to variable ret
The variable ret is being assigned with a value that is never read
and it is being updated later with a new value. The initialization is
redundant and can be removed.

Addresses-Coverity: ("Unused value")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20200420222449.99481-1-colin.king@canonical.com
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-06-08 14:39:00 +03:00
David S. Miller 745bd6f44c One batch of changes, containing:
* hwsim improvements from Jouni and myself, to be able to
    test more scenarios easily
  * some more HE (802.11ax) support
  * some initial S1G (sub 1 GHz) work for fractional MHz channels
  * some (action) frame registration updates to help DPP support
  * along with other various improvements/fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEH1e1rEeCd0AIMq6MB8qZga/fl8QFAl7L1A8ACgkQB8qZga/f
 l8T5RQ/9EUxFqBs0cWojwyad5nkesyl51eOnbvSCJJF14W93s2oMeikCynTPe8Vg
 km36041QZqGbwmU0yWC9Lmm4y3ja5qQGI+QW+vT6tutGQx6FgK5TzUfYXqiFZqf6
 asqkvHpH4VqmbG1KEp0PZjIpW/OVK96pbvtXVnkrcMmjl2JjbRtAhyZQVNtt9ufJ
 6wqKf8e6iYqMIInMFPLX+rl7UEknxDKVcqPbMMJmY8/iM1z9Elkg3rkRSMehC+mE
 8cznZ6BsjAGCbMiA8K9fUo15lcMfZCJ1hAPzkD4TsJtMEJ0gYDo5jDB8TIpr5uoL
 95OnlF8jokJIsO+1g4CyaNSQsmFIuDo84vW8LtGRu9qzTP0UwelxhjZLgE3xlP6b
 W+z5HomxfWkYhJhaNywLP3B1VPtJwX8dL/wpECOWHzNKXG7Rb6GqzUwaCRFb6Jjo
 TmFJ5wLoEZHhsXYO2dvcyTzCUCXviXvfq60a56IyCJN8wDqmcubePv0+NOHUmj3c
 E71NTYymM3j9agdSpXdCFLBXA1OgyIydeSNHuBlaPA4sK6tr4ikUtbOrABjYTaQz
 2BB5fHEi8gs4EiHbSXqLFBot3JHljKJPsSN0wAgzQffN+6Kts9FG6HcrLsL+duDg
 lRdAzRrunE85S0QhsxeVIX216rX4W08sl0B1rJR+dTMX9ByblAk=
 =MVBJ
 -----END PGP SIGNATURE-----

Merge tag 'mac80211-next-for-net-next-2020-04-25' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next

Johannes Berg says:

====================
One batch of changes, containing:
 * hwsim improvements from Jouni and myself, to be able to
   test more scenarios easily
 * some more HE (802.11ax) support
 * some initial S1G (sub 1 GHz) work for fractional MHz channels
 * some (action) frame registration updates to help DPP support
 * along with other various improvements/fixes
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-26 20:17:35 -07:00
David S. Miller 5d9e4722c7 wireless-drivers-next patches for v5.8
First set of patches for v5.8. Changes all over, ath10k apparently
 seeing most new features this time. rtw88 also had lots of changes due
 to preparation for new hardware support.
 
 In this pull request there's also a new macro to include/linux/iopoll:
 read_poll_timeout_atomic(). This is needed by rtw88 for atomic
 polling.
 
 Major changes:
 
 ath11k
 
 * add debugfs file for testing ADDBA and DELBA
 
 * add 802.11 encapsulation offload on hardware support
 
 * add htt_peer_stats_reset debugfs file
 
 ath10k
 
 * enable VHT160 and VHT80+80 modes
 
 * enable radar detection in secondary segment
 
 * sdio: disable TX complete indication to improve throughput
 
 * sdio: decrease power consumption
 
 * sdio: add HTT TX bundle support to increase throughput
 
 * sdio: add rx bitrate reporting
 
 ath9k
 
 * improvements to AR9002 calibration logic
 
 carl9170
 
 * remove buggy P2P_GO support
 
 p54usb
 
 * add support for AirVasT USB stick
 
 rtw88
 
 * add support for antenna configuration
 
 ti wlcore
 
 * add support for AES_CMAC cipher
 
 iwlwifi
 
 * support for a few new FW API versions
 
 * new hw configs
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJetAhAAAoJEG4XJFUm622bADEH/A1OjAD3H1iZyTmXHP4T7yZe
 TKJ+9I6B3BDR1czUTm+kUhrgBDNpdLLtu+b+5QXfpPLrtZ0FF/zjuazgueyqQpZ1
 zudj+rG72njHpU0RKtO7wIBrCtckLPV0be+3026hztatJmJ7XQ9FvsanFPPsrrNv
 0lh8E8kDUSynOW2me8FW1GBgDkGaBaicAs4FSjwNJC31Wo/VN5m9gEFkGpT1VJWP
 l0xeEQ/N2mknQVuTR4CuMT9VJ0SNlJrLZpBVAqkmc170c3pKChl3LTNCnP925ye9
 Nfqw2sQKgUPJKRbZR5wZTphGuu4krFv0ldWCvb0oFtZlCLIkiOz6+AA7b33oV2A=
 =7ewK
 -----END PGP SIGNATURE-----

Merge tag 'wireless-drivers-next-2020-05-07' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next

Kalle Valo says:

====================
wireless-drivers-next patches for v5.8

First set of patches for v5.8. Changes all over, ath10k apparently
seeing most new features this time. rtw88 also had lots of changes due
to preparation for new hardware support.

In this pull request there's also a new macro to include/linux/iopoll:
read_poll_timeout_atomic(). This is needed by rtw88 for atomic
polling.

Major changes:

ath11k

* add debugfs file for testing ADDBA and DELBA

* add 802.11 encapsulation offload on hardware support

* add htt_peer_stats_reset debugfs file

ath10k

* enable VHT160 and VHT80+80 modes

* enable radar detection in secondary segment

* sdio: disable TX complete indication to improve throughput

* sdio: decrease power consumption

* sdio: add HTT TX bundle support to increase throughput

* sdio: add rx bitrate reporting

ath9k

* improvements to AR9002 calibration logic

carl9170

* remove buggy P2P_GO support

p54usb

* add support for AirVasT USB stick

rtw88

* add support for antenna configuration

ti wlcore

* add support for AES_CMAC cipher

iwlwifi

* support for a few new FW API versions

* new hw configs
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-07 13:22:35 -07:00
Johannes Berg a548c69d2e iwlwifi: mvm: add DCM flag to rate pretty-print
It's useful to know if DCM was enabled, add this flag
to the rate pretty-printer.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.891bb9741eca.Ia66448f7e00be9e4c9ea7147b90d4fcd5f1d3845@changeid
2020-04-24 16:38:09 +03:00
Johannes Berg 9166cc4976 mac80211: implement Operating Mode Notification extended NSS support
Somehow we missed this for a long time, but similar to the extended
NSS support in VHT capabilities, we need to have this in Operating
Mode notification.

Implement it by
 * parsing the 160/80+80 bit there and setting the bandwidth
   appropriately
 * having callers of ieee80211_get_vht_max_nss() pass in the current
   max NSS value as received in the operating mode notification in
   order to modify it appropriately depending on the extended NSS
   bits.

This updates all drivers that use it, i.e. only iwlwifi/mvm.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200326150855.098483728cfa.I4e8c25d3288441759c2793247197229f0696a37d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2020-04-24 12:33:42 +02:00
Johannes Berg 6cb5f3ea46 mac80211: populate debugfs only after cfg80211 init
When fixing the initialization race, we neglected to account for
the fact that debugfs is initialized in wiphy_register(), and
some debugfs things went missing (or rather were rerooted to the
global debugfs root).

Fix this by adding debugfs entries only after wiphy_register().
This requires some changes in the rate control code since it
currently adds debugfs at alloc time, which can no longer be
done after the reordering.

Reported-by: Jouni Malinen <j@w1.fi>
Reported-by: kernel test robot <rong.a.chen@intel.com>
Reported-by: Hauke Mehrtens <hauke@hauke-m.de>
Reported-by: Felix Fietkau <nbd@nbd.name>
Cc: stable@vger.kernel.org
Fixes: 52e04b4ce5 ("mac80211: fix race in ieee80211_register_hw()")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Link: https://lore.kernel.org/r/20200423111344.0e00d3346f12.Iadc76a03a55093d94391fc672e996a458702875d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2020-04-24 11:30:13 +02:00
Johannes Berg 84acc85a62 iwlwifi: mvm: remove newline from rs_pretty_print_rate()
Some of the places using this want the newline, but not all,
so remove the newline from it and generate it in the debugfs
files where it's desired.

The effect of this is not printing double newlines in debug
log messages.

Change-Id: Ia59b0abbef16b6783fcabc095c5fde16bd047a26
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2020-03-27 08:12:53 +02:00
Mordechay Goodstein 6587ef6e22 iwlwifi: mvm: print rate_n_flags in a pretty format
Use the rs_pretty_print_rate() function to print the rate_n_flags in
more human-readable format.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2019-11-15 09:34:27 +02:00
Mordechay Goodstein 686d5c5708 iwlwifi: mvm: in VHT connection use only VHT capabilities
mac80211 limits amsdu size to the minimum of HT and VHT capabilities
but since in a VHT connection we don't transmit HT frames we can discard
HT limits.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2019-11-15 09:31:56 +02:00
Luca Coelho 286ca8eb4d iwlwifi: add a pointer to the trans_cfg directly in trans
Add a pointer to the iwl_trans structure and point it to the trans
part of the cfg.  This is the first step in disassociating the trans
configuration from the rest of the configuration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-09-06 15:52:00 +03:00
Luca Coelho 79b6c8feb6 iwlwifi: separate elements from cfg that are needed by trans_alloc
In order to be able to select the cfg depending on the HW revision or
on the RF ID, we need to set up the trans before selecting the cfg.
To do so, move the elements from cfg that are needed by
iwl_trans_alloc() to a separate struct at the top of the cfg, so it
can be used by other cfg types as well, before selecting the rest of
the configuration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-09-06 15:34:25 +03:00
Luca Coelho e533f74589 iwlwifi: mvm: remove check for lq_sta in __iwl_mvm_rs_tx_status()
The check is not necessary anymore, because now the struct is not
allocated separately, but is part of the mvmsta struct.  Remove the
check, since it's dead code.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-09-06 15:31:19 +03:00
David S. Miller 13dfb3fa49 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Just minor overlapping changes in the conflicts here.

Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-06 18:44:57 -07:00
Gregory Greenman 514ea05b07 iwlwifi: mvm: fix possible out-of-bounds read when accessing lq_info
lq_info is an arary of size 2, active_tbl index is u8.
When accessing lq_info[1 - active_tbl], theoretically it's possible
that the access will be made to a negative index value.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-07-30 18:34:27 +02:00
Gregory Greenman f5d88fa334 iwlwifi: mvm: replace RS mutex with a spin_lock
The solution with the worker still had a bug, as in order
to get sta, rcu_read_lock should be used and thus no mutex
can be used inside iwl_mvm_rs_rate_init.

Also, spin_lock is a simpler solution, no need to spawn a
dedicated worker.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-07-30 18:34:24 +02:00
Gregory Greenman cd4d6b0bcd iwlwifi: mvm: send LQ command always ASYNC
The only place where the command was sent as SYNC is during
init and this is not really critical. This change is required
for replacing RS mutex with a spinlock (in the subsequent patch),
since SYNC comamnd requres sleeping and thus the flow cannot
be done when holding a spinlock.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-07-30 18:34:20 +02:00
Gregory Greenman 23babdf067 iwlwifi: mvm: add a wrapper around rs_tx_status to handle locks
iwl_mvm_rs_tx_status can be called from two places in the code, but the
mutex is taken only on one of the calls. Split it into a wrapper taking
locks and an internal __iwl_mvm_rs_tx_status function.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-07-30 18:34:15 +02:00
Mordechay Goodstein 0f8084cdc1 iwlwifi: mvm: avoid races in rate init and rate perform
Rate perform uses the lq_sta table to calculate the next rate to scale
while rate init resets the same table,

Rate perform is done in soft irq context in parallel to rate init
that can be called in case we are doing changes like AP changes BW
or moving state for auth to assoc.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-07-30 18:34:10 +02:00
Greg Kroah-Hartman 09e1946cb7 iwlwifi: mvm: remove unused .remove_sta_debugfs callback
The .remove_sta_debugfs callback was not doing anything in this driver,
so remove it as it is not needed.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20190612142658.12792-4-gregkh@linuxfoundation.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-07-26 13:21:06 +02:00
David S. Miller 13091aa305 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Honestly all the conflicts were simple overlapping changes,
nothing really interesting to report.

Signed-off-by: David S. Miller <davem@davemloft.net>
2019-06-17 20:20:36 -07:00
Johannes Berg 1e87fec9fa mac80211: call rate_control_send_low() internally
There's no rate control algorithm that *doesn't* want to call
it internally, and calling it internally will let us modify
its behaviour in the future.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-06-14 14:17:37 +02:00
Thomas Gleixner 4273a380f2 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 322
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of version 2 of the gnu general public license as
  published by the free software foundation this program is
  distributed in the hope that it will be useful but without any
  warranty without even the implied warranty of merchantability or
  fitness for a particular purpose see the gnu general public license
  for more details the full gnu general public license is included in
  this distribution in the file called license

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 29 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com>
Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190530000435.438503728@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-05 17:37:05 +02:00
Greg Kroah-Hartman c9af7528c3 iwlwifi: mvm: no need to check return value of debugfs_create functions
When calling debugfs functions, there is no need to ever check the
return value.  The function can work or not, but the code logic should
never do something different based on this.

Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Cc: Luca Coelho <luciano.coelho@intel.com>
Cc: Intel Linux Wireless <linuxwifi@intel.com>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: linux-wireless@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-04-03 11:20:03 +03:00
Johannes Berg a53b2a0b12 iwlwifi: mvm: implement VHT extended NSS support in rs.c
For non-offloaded rate control, implement VHT extended NSS
support by just ignoring 160 MHz on transmit if the peer
doesn't support the full NSS (2). This is pretty unlikely
and gets us 160 MHz RX as well as TX in most cases, since
the typical case for this workaround is 4x4 AP only doing
2x2 on 160 MHz.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-02-20 20:47:59 +02:00