aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel
AgeCommit message (Collapse)AuthorFilesLines
2021-02-10iwlwifi: declare support for triggered SU/MU beamforming feedbackNaftali Goldstein1-0/+2
The NIC supports this, so set the relevant bits in the HE PHY capabilities. Signed-off-by: Naftali Goldstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210142629.24212c1aac90.I82f6c1bdb9fe351ce46e8cc8ec6da221908dec45@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: dbg: add op_mode callback for collecting debug data.Mordechay Goodstein5-3/+35
The first use is collecting debug data when transport stops the device. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210142629.d282d0a9ee7b.I9a0ad29f80daba8956a6aa077ba865e19b2150be@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: api: clean up some documentation/bitsJohannes Berg3-3/+10
Clean up some documentation references and some bits in the enums to make the documentation more useful. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210142629.941d963ceb88.I72a89c0161d7beab99bc3a90707796c2a63e4197@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: dbg: remove unsupported regionsMordechay Goodstein3-3/+40
In case user requested to register an unsupported regions, remove it from active list and trigger list, this saves operational driver memory and run time at collecting debug data. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210142629.a0cc944040e8.I3ae37547452b39f8040428c21ed47bdc67ae8f71@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: pcie: Change Ma device IDMatti Gottlieb1-1/+1
The Ma device ID needs to be 0x7E40 instead of 0x7E80. Signed-off-by: Matti Gottlieb <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.a97272169e3f.Ic4acfb3f7b4e9d7b49c9c0b9a31c9a305d4d9fcc@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: when HW has rate offload don't look at control fieldMordechay Goodstein1-9/+13
Control field is set by mac80211 only if case rate is not offloaded to hw. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.f845c4387eed.I30c4d26698bae1f5f8c396da80a545baa145e2ad@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: pcie: NULLify pointers after freeEmmanuel Grumbach2-2/+9
Remember that those pointers have been freed by setting them to NULL. Otherwise, we'd keep rxq pointing to random memory which would prevent us from trying to re-allocate the Rx resources if we call rx_alloc again. Also, propagate the allocation failure to the caller of iwl_pcie_nic_init so that we won't go further in the start flow. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.996b400d2f1c.I630379c504644700322f57b259383ae0af8d1975@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: mvm: assign SAR table revision to the command laterLuca Coelho1-2/+10
The call to iwl_sar_geo_init() was moved to the end of the iwl_mvm_sar_geo_init() function, after the table revision is assigned to the FW command. But the revision is only known after iwl_sar_geo_init() is called, so we were always assigning zero to it. Fix that by moving the assignment code after the iwl_sar_geo_init() function is called. Signed-off-by: Luca Coelho <[email protected]> Fixes: 45acebf8d6a6 ("iwlwifi: fix sar geo table initialization") Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.cef55ef3a065.If96c60f08d24c2262c287168a6f0dbd7cf0f8f5c@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: mvm: remove useless iwl_mvm_resume_d3() functionJohannes Berg1-6/+1
This is called exactly once, a few lines down, so there's no point in having the extra function. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.1ef80bf3008c.I0b5349530182b5616a4149dd596f95aa54ea724c@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: mvm: enhance a print in CSA flowsEmmanuel Grumbach1-1/+2
Add the count and the mode to the modify CSA flow. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.361bc0f024ef.I904f269858b3123b7d6532f049c7f92b63fb8807@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: mvm: send stored PPAG command instead of localLuca Coelho1-6/+3
Some change conflicts apparently cause a confusion between a local variable being used to send the PPAG command and the introduction of a union for this command. Most parts of the local command were never copied from the stored data, so the FW was getting garbage in the tables instead of getting valid values. Fix this by completely removing the local and using only the union that we have stored in fwrt. Signed-off-by: Luca Coelho <[email protected]> Fixes: f2134f66f40e ("iwlwifi: acpi: support ppag table command v2") Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.d090e0301023.I7d57f4d7da9a3297734c51cf988199323c76916d@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: mvm: store PPAG enabled/disabled flag properlyLuca Coelho1-4/+3
When reading the PPAG table from ACPI, we should store everything in our fwrt structure, so it can be accessed later. But we had a local ppag_table variable in the function and were erroneously storing the enabled/disabled flag in it instead of storing it in the fwrt. Fix this by removing the local variable and storing everything directly in fwrt. Signed-off-by: Luca Coelho <[email protected]> Fixes: f2134f66f40e ("iwlwifi: acpi: support ppag table command v2") Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.889862e6d393.I8b894c1b2b3fe0ad2fb39bf438273ea47eb5afa4@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: mvm: fix the type we use in the PPAG table validity checksLuca Coelho1-6/+13
The value we receive from ACPI is a long long unsigned integer but the values should be treated as signed char. When comparing the received value with ACPI_PPAG_MIN_LB/HB, we were doing an unsigned comparison, so the negative value would actually be treated as a very high number. To solve this issue, assign the value to our table of s8's before making the comparison, so the value is already converted when we do so. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.b0ec69f312bc.If77fd9c61a96aa7ef2ac96d935b7efd7df502399@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: acpi: fix PPAG table sizesLuca Coelho1-2/+2
We were erroneously adding 3 extra values to the table size calculation, when we should actually add only a 2 (one for the domain type and one for the enabled/disabled flag). Fix this for both revisions we support. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.9d037b8f5098.I3c88af130d9e270517c8bac8eb02e11f817fe959@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: pcie: don't disable interrupts for reg_lockJohannes Berg3-22/+16
The only thing we do touching the device in hard interrupt context is, at most, writing an interrupt ACK register, which isn't racing in with anything protected by the reg_lock. Thus, avoid disabling interrupts here for potentially long periods of time, particularly long periods have been observed with dumping of firmware memory (leading to lockup warnings on some devices.) Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.da916ab91298.I064c3e7823b616647293ed97da98edefb9ce9435@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: pcie: add a few missing entries for So with HrLuca Coelho1-0/+8
Some devices were missing from the So with Hr section. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210210135352.71da7ce27261.I0d96fe7b799527c49f1270ddf9acdb152bdd4841@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: dbg: Mark ucode tlv data as constTakashi Iwai3-26/+28
The ucode TLV data may be read-only and should be treated as const pointers, but currently a few code forcibly cast to the writable pointer unnecessarily. This gave developers a wrong impression as if it can be modified, resulting in crashing regressions already a couple of times. This patch adds the const prefix to those cast pointers, so that such attempt can be caught more easily in future. Signed-off-by: Takashi Iwai <[email protected]> Acked-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Luca Coelho <[email protected]>
2021-02-10iwlwifi: add new cards for So and Qu familyIhab Zhaika3-0/+46
add few PCI ID'S for So with Hr and Qu with Hr in AX family. Cc: [email protected] Signed-off-by: Ihab Zhaika <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210206130110.6f0c1849f7dc.I647b4d22f9468c2f34b777a4bfa445912c6f04f0@changeid
2021-02-08Merge tag 'iwlwifi-next-for-kalle-2021-02-05' of ↵Kalle Valo40-738/+1389
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next iwlwifi patches intended for v5.12 * Check FW notification sizes for robustness; * Improvements in the NAPI implementation; * Implement a workaround for CCA-EXT; * Add new FW API support; * Fix a CSA bug; * Implement PHY integration version parsing; * A bit of refactoring; * One more CSA bug fix, this time in the AP side; * Support for new So devices and a bit of reorg; * Per Platform Antenna Gain (PPAG) fixes and improvements; * Improvements in the debug framework; * Some other clean-ups and small fixes. # gpg: Signature made Fri 05 Feb 2021 12:04:21 PM EET using RSA key ID 1A3CC5FA # gpg: Good signature from "Luciano Roth Coelho (Luca) <[email protected]>" # gpg: aka "Luciano Roth Coelho (Intel) <[email protected]>"
2021-02-08iwlegacy: 4965-mac: Simplify the calculation of variablesJiapeng Chong1-2/+1
Fix the following coccicheck warnings: ./drivers/net/wireless/intel/iwlegacy/4965-mac.c:2596:54-56: WARNING !A || A && B is equivalent to !A || B. Reported-by: Abaci Robot <[email protected]> Signed-off-by: Jiapeng Chong <[email protected]> Acked-by: Stanislaw Gruszka <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/1612425608-40450-1-git-send-email-jiapeng.chong@linux.alibaba.com
2021-02-06Merge tag 'wireless-drivers-next-2021-02-05' of ↵Jakub Kicinski1-5/+6
git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== wireless-drivers-next patches for v5.12 First set of patches for v5.12. A smaller pull request this time, biggest feature being a better key handling for ath9k. And of course the usual fixes and cleanups all over. Major changes: ath9k * more robust encryption key cache management brcmfmac * support BCM4365E with 43666 ChipCommon chip ID * tag 'wireless-drivers-next-2021-02-05' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next: (35 commits) iwl4965: do not process non-QOS frames on txq->sched_retry path mt7601u: process tx URBs with status EPROTO properly wlcore: Fix command execute failure 19 for wl12xx mt7601u: use ieee80211_rx_list to pass frames to the network stack as a batch rtw88: 8723de: adjust the LTR setting rtlwifi: rtl8821ae: fix bool comparison in expressions rtlwifi: rtl8192se: fix bool comparison in expressions rtlwifi: rtl8188ee: fix bool comparison in expressions rtlwifi: rtl8192c-common: fix bool comparison in expressions rtlwifi: rtl_pci: fix bool comparison in expressions wlcore: Downgrade exceeded max RX BA sessions to debug wilc1000: use flexible-array member instead of zero-length array brcmfmac: clear EAP/association status bits on linkdown events brcmfmac: Delete useless kfree code qtnfmac_pcie: Use module_pci_driver mt7601u: check the status of device in calibration mt7601u: process URBs in status EPROTO properly brcmfmac: support BCM4365E with 43666 ChipCommon chip ID wilc1000: fix spelling mistake in Kconfig "devision" -> "division" mwifiex: pcie: Drop bogus __refdata annotation ... ==================== Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2021-02-05iwlwifi: pcie: Disable softirqs during Rx queue initIlan Peer1-18/+18
When Rx queues are configured during module init, NAPI is enabled while the Rx queue lock is held. However, since softirqs are not disabled, it is possible that and IRQ would fire and call iwl_pcie_rx_handle() which would also try to acquire the Rx lock. Prevent this by disabling softirqs during Rx queue configuration, as part of module init flow. Signed-off-by: Ilan Peer <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.d206ac428823.Ia19339efb09f9d80143f0d0e398a158180754cfa@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: bump FW API to 61 for AX devicesLuca Coelho1-1/+1
Start supporting API version 61 for AX devices. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.99428c76c1fc.I2b075d52119d7e4ced6a044f096ee1589c8e631e@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add Asus to the PPAG approved listLuca Coelho1-0/+5
Asus is now approved to use the PPAG feature. Add it to the approved list. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.fae78b768080.Id649ccc8f3b923be2618ad44cd4f7732871e1469@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add Microsoft to the PPAG approved listLuca Coelho1-0/+5
Microsoft is now approved to use the PPAG feature. Add it to the approved list. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.ed6cf4960800.I661f14d84f864d3860db6fcb05b7f37ec804b6ef@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add Samsung to the PPAG approved listLuca Coelho1-0/+5
Samsung is now approved to use the PPAG feature. Add it to the approved list. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.07841f1f45ba.I47eb5a9be3c819683a2175e4db89f366bc9508e2@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add HP to the PPAG approved listLuca Coelho1-0/+5
HP is now part of the OEMs in the approved list for the PPAG feature. Add it. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.41e9812977b9.If19d9a47d0070465a4c1349fcb123db32aee85f7@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: implement approved list for the PPAG featureLuca Coelho1-0/+13
We should only allow PPAG to be enabled by OEMs that are in the approved list. In order to do this, we need to compare the system vendor string retrieved from SMBIOS to a list maintained in the driver. If the vendor string is not in the list, we don't allow PPAG to be used. For now the list is empty, but entries will be added to it individually, in subsequent patches. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.c9d35b7d8748.I4e4cf61d8fa6ff91d9b0cab2b1ec9ede4be346f5@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: set enabled in the PPAG command properlyLuca Coelho1-0/+2
When version 2 of the PER_PLATFORM_ANT_GAIN_CMD was implemented, we started copying the values from the command that we have stored into a local instance. But we accidentally forgot to copy the enabled flag, so in practice PPAG is never really enabled. Fix this by copying the flag from our stored data a we should. Signed-off-by: Luca Coelho <[email protected]> Fixes: f2134f66f40e ("iwlwifi: acpi: support ppag table command v2") Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.24d7bf754ad5.I0e8abc2b8747508b6118242533d68c856ca6dffb@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add debugfs entry to trigger a dump as any time-pointMordechay Goodstein1-0/+19
This is used for different tests collecting different types of debug data from fw (e.g latency issues, hw issues etc). Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.0db829694810.I001f39d34ae46c87870d9bd94a4baaa3250578d1@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add tx fail time pointMordechay Goodstein1-3/+23
This helps collect on any tx failure fw data to better understand what went wrong. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.719de818c09a.I2788e6a4c411aa414eaa67e6b7b21d90ccd9d0c1@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: fwrt: add suspend/resume time pointMordechay Goodstein2-3/+2
We should only collect debug data after exiting suspend state, that's why we delete the current place in d3.c file, and add it to fwrt flows that occur while we can still access the fw and collect debug data. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201908.eaf378ed403c.I46fae3ee6da1a4b476515b8ad51ad1c0ea2d8381@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add triggers for MLME eventsMordechay Goodstein1-0/+33
For debug we add auth/assoc failed event and disconnect event. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201907.fa62d6770dd1.I5b2ea2e5316ebed94ed77ff0a31d78a9672e4016@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add IML/ROM information for other HW familiesMordechay Goodstein2-5/+20
This makes it easier to debug IML/ROM errors for other HW families as well. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210131201907.4a802b308a0f.I77855abbf6dc1a6edf9c914f3313a87bd78de4df@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: fix CSA AP sideEmmanuel Grumbach2-5/+37
Once the all the stations completed the switch, we need to clear csa_tx_blocked_vif. This was missing. We also need to re-enable the broadcast / multicast stations. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.f5b813753bdb.Id58979b678974c3ccf44d8b381c68165ac55a3d3@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: make iwl_mvm_tt_temp_changed() staticJohannes Berg2-2/+1
This is only needed within tt.c, make it static. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.20a74526d395.Id24304ec1ae4b3096dbb8112bd146b364920e89e@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: cancel the scan delayed work when scan is abortedEmmanuel Grumbach1-0/+3
When we abort the scan because of a firmware crash, we need to cancel the delayed work that monitors the scan completion. Otherwise it'll kick and try to restart the firmware yet another time. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.a497faa942dd.Ibc155ad36da9de7eb0ddcdd826ddf8dd6607d2ac@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: pcie: add support for SnJ with Hr1Luca Coelho1-0/+6
Add an entry for SnJ with Hr1. This device should use the tx_with_siso_diversity option, but that doesn't work at the moment. So we leave it disabled for now (and use the same struct as Hr2). Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.455e59ba3a4c.I49ebb07382e6d11dc8f50e6a58d579681209cb1d@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: move early time-point before nvm_init in non-unifiedLuca Coelho1-2/+2
We were starting the early time-point too late in non-unified firmwares. Unlike with unified firmwares, we were starting it only after reading the NVM, so errors in the NVM read phase were not logged. Solve this by moving the time-point to the same place as we do with unified firmwares, i.e. just before we go into the wait-alive code. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.bb6d28ceca01.I770fdf3b9b9fa555fe0935926e32cc3509d980de@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: add support for SnJ with Jf devicesLuca Coelho3-18/+75
Add support for SnJ devices with Jf and a workaround for some cases where the devices erroneously show as QnJ devices. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.ae6ed654e557.Ic11ed4df410328359b6a2c997456692901d99468@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: move SnJ and So rules to the new tablesLuca Coelho3-40/+85
We were hardcoding the SnJ and So IDs already at the trans_cfg selection, instead of doing it in a more generic way. Use the generic trans_cfg selection for these devices and move the hardcoded IDs to the new table. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.7e11dcb7b04e.I6f65126175d54b73834c2896013d00ce114ff601@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: slightly clean up rs_fw_set_supp_rates()Johannes Berg1-3/+2
The "supp" variable doesn't need to be unsigned long, only "tmp" is used with for_each_set_bit(). "supp" should just be a u16, since that's how it's sent to the firmware. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.762e50704a39.I014bc7898f90c734f8e9be2a3efaf9bf8b7db6db@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: fw api: make hdr a zero-size array againJohannes Berg1-1/+1
In struct iwl_tx_cmd, there's no risk (as Arnd implied) that we might access this as an array, as it's really not an array and cannot be - there's only a single 802.11 header per frame. The only reason for this member is for being able to access it a bit more nicely. On the other hand, this structure is used as a sub-struct in a few places, and then some compilers (e.g. clang with certain options) complain as you shouldn't have structs with variable- length fields embedded in other structs. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.46cd538c90bf.I92179567d96938598806b560be59d787c2a8cc16@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: bump FW API to 60 for AX devicesLuca Coelho1-1/+1
Start supporting API version 60 for AX devices. Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.7b908f5dd970.Id2aec0d7d33921aba77ba9853196f81d5950c31c@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: advertise BIGTK client support if availableJohannes Berg6-15/+104
If the firmware has support, then advertise it to the stack and send the key down. Since we re-check the protection in the host anyway, we don't really need to do anything on RX except that we should drop frames that the firmware _knows_ are replay errors, since beacon filtering might otherwise result in replays being possible. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210205110447.f5a3d53301b3.I23e84c9bb0b039d9106a07e9d6847776757f9029@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: always allow maximum A-MSDU on newer devicesJohannes Berg1-4/+3
On devices starting from 9000 series, always allow maximum A-MSDU sizes regardless of the amsdu_size module parameter, which really hasn't meant that for a long time but just controls the receive buffer size. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210117164916.ebf6efb380a9.I237be6ec70bee6ec52a2f379ee1f15b1196488d0@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: debugfs: check length precisely in inject_packetJohannes Berg1-2/+2
When we check the length, we only check that the advertised data length fits into the data we have, but currently not that it actually matches correctly. This should be harmless, but if the first two bytes are zero, then the iwl_rx_packet_payload_len() ends up negative, and that might later cause issues if unsigned variables are used, as this is not something that's normally expected. Change the validation here to precisely validate the lengths match, to avoid such issues. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210117164916.5184dfc2a445.I0631d2e4f6ffb93cf06618edb035c45bd6d1d7b9@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: simplify TX power settingJohannes Berg1-12/+6
There's no need to double this code, just put it into the common code that's called in all the cases. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210117164916.1f75d426ebe4.I58f6612f7e168c655bdef206a53e5bc117c84cf5@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: tx: move handing sync/async host command to transMordechay Goodstein9-285/+150
Handling host commands in a sync way is not directly related to PCIe transport, and can serve as common logic for any transport, so move it to trans layer. Signed-off-by: Mordechay Goodstein <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210117164916.fde99af4e0f7.I4cab95919eb35cc5bfb26d32dcf5e15419d0e0ef@changeid Signed-off-by: Luca Coelho <[email protected]>
2021-02-05iwlwifi: mvm: add explicit check for non-data frames in get Tx rateKrishnanand Prabhu1-5/+8
In roaming flows and during reassociation, its possible that data frames such as EAPOLs for 4 way handshake/ 802.1x authentication are initially set to higher MCS rate. Though these are pruned down to a lower legacy rate before sending to the FW, driver also emits a kernel warning - intended for non-data frames. Add checks to avoid such warnings for data frames, while also enhancing the debug data printed. Signed-off-by: Krishnanand Prabhu <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Link: https://lore.kernel.org/r/iwlwifi.20210117164916.d9ded010c4ce.Ie1d5a33d7175c0bcb35c10b5729748646671da31@changeid Signed-off-by: Luca Coelho <[email protected]>