aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel
Commit message (Collapse)AuthorAgeFilesLines
* ltq-deu: add aes_xts algorithmDaniel Kestrel2022-01-061-0/+324
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The lantiq AES hardware does not support the xts algorithm. Apart from the cipher text stealing (XTS), the AES XTS implementation is just an XOR with the IV, followed by AES ECB, followed by another XOR with the IV and as such can be also implemented by using the lantiq hardware's CBC AES implemention plus one additional XOR with the IV in the driver. The output IV by CBC AES is also not usable and the gfmul operation not supported by lantiq hardware. Both need to be done in the driver too in addition to the IV treatment which is the initial encryption by the other half of the input key and to set the IV to the IV registers for every block. In the generic kernel implementation, the block size for XTS is set to 16 bytes, although the algorithm is designed to process any size of input larger than 16 bytes. But since there is no way to indicate a minimum input length, the block size is used. This leads to certain issues when the skcipher walk functions are used, e.g. processing less than block size bytes is not supported by calling skcipher_walk_done. The walksize is 2 AES blocks because otherwise for splitted input or output data, less than blocksize is to be returned in some cases, which cannot be processed. Another issue was that depending on possible split of input/output data, just 16 bytes are returned while less than 16 bytes were remaining, while cipher text stealing requires 17 bytes or more for processing. For example, if the input is 60 bytes and the walk is 48, then processing 48 bytes leads to a return code of -EINVAL for skcipher_walk_done. Therefor the processed counter is used to figure out, when the actual cipher text stealing for the remaining bytes less than blocksize needs to be applied. Measured with cryptsetup benchmark, this XTS AES implementation is about 19% faster than the kernels XTS implementation that uses the hardware ECB AES (ca. 18.6 MiB/s vs. 15.8 MiB/s decryption 256b key). The implementation was tested with the kernels crypto testmgr against the kernels generic XTS AES implementation including extended tests. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: update initialisations for hmac algorithmsDaniel Kestrel2022-01-062-6/+4
| | | | | | | | | | | | The processing in the hmac algorithms depends on the status fields: count, dbn and started. Not all were initialised in the init method and after finishing the final method. Added missing fields to init method and call init method after finishing final. The memsets have the wrong size in the original driver and did not clear everything and are not necessary. Since no memset is done in the kernels generic implementation, memsets were removed. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: remove compiler warning and shorten locked sectionsDaniel Kestrel2022-01-067-43/+7
| | | | | | | | | | | | Removing hash pointer in _hmac_setkey since its not needed and causes a compiler warning. Make the spinlock control sections shorter and move initializations out of the control sections to free the spinlock faster for allowing other threads to use the hash engine. Minor improvements for indentation and removal of blanks and blank lines in some areas. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: fix temp size exceed in hmac algorithmsDaniel Kestrel2022-01-062-71/+146
| | | | | | | | | | | | | | | | | | | | | | | | | Exceeding the temp array size was not checked and instead storage not allocated by the driver was used/overwritten which in most cases resulted in reboots. This patch implements processing the input to the hash algorithm in tempsize chunks. The _hmac_final methods were changed to _hmac_final_impl adding a parameter that indicates intermediate or final processing. The started variable was added to the context to indicate, if there is an intermediate result in the context. For sha1_hmac the variable to store the intermediate hash was added to the context too. In order to avoid md5_hmac_final_impl being recursively called if the padding of the input and the resulting last transform during the hmac algorighms final processing causes the temp array to overflow and to make sure that there is at least one block in the temp array when the _hmac_final for final processing is called, the check for exceeding the temp array in _hmac_transform was moved before copying the block and incrementing dbn. dbn needs to be at least 1 at final processing time to let the hash engine apply the opad operation. To make the hash engine not apply the hmac algorithms final opad operation, for intermediate processing the dbn in the control register is set to a higher value than number of dbns are actually processed. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: fix setkey errors and static shared temp for hmac algosDaniel Kestrel2022-01-062-52/+137
| | | | | | | | | | | | | | | | | | | The hmac algorithms state, that keys larger than the key size should be hashed with the underlying hash algorithms and then those hashes are to be used as keys. This patch implements this. In order to avoid allocating a descriptor during setkey, a shash_desc pointer is added to the context. Another issue for multithreaded callers is the shared temp array. The temp array is static and as such would be shared among multithreaded callers, which obviously would neither work nor produce correct results. The temp array (4k size) is moved to the context and since the size of the context is limited, it can only be defined as pointer otherwise the initialisation of the hash algorithm fails. The allocations and freeing of both the temp and the desc pointer in the context are done by implementing cra_init and cra_exit functions for the hmac algorithms. Also improved indentation in some areas. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: fix ifxdeu-ctr-rfc3686(aes) not matching generic implDaniel Kestrel2022-01-061-1/+2
| | | | | | | | Error ifxdeu-ctr-rfc3686(aes) (16) doesn't match generic impl (20) occurs when running the cryptomgr extra tests that compare against the linux kernels generic implementation. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: changes for hash multithread callers and md5 endianessDaniel Kestrel2022-01-066-79/+45
| | | | | | | | | | | | | | | | | | | | | | | | | The algorithms sha1, sha1_hmac and md5_hmac all use ENDI=1. The md5 algorithm uses ENDI=0 and the endian_swap methods to reverse the endianess switch by using user CPU time, which is unnecessary overhead. Danube and AR9 devices do not set endianess for SHA1, so is done for MD5. Furthermore the patch replaces endian_swap with le32_to_cpu for md5 and md5 hmac algorithms and removes endian_swap for them. The init functions initialize the algorithm in the hardware. The lock is not used to write to the control register. If another thread calls another hash algo before update or final, the result will be wrong. Therefore move the algorithm init to the lock protected sections in the transform or final methods. Setting the hw key for the hmac algorithms is now done from within the lock protected sections in their final methods. The lock protecting is removed from the _hmac_setkey_hw functions. In final for md5 and sha1 the lock section is removed, because all the work was already done in transform (which is called from final). As such only copying the hash to the output is required. MD5 and MD5_HMAC produce 16 byte hashes (4 DWORDS) only, therefor writing register D5R to the hash output is removed for MD5_HMAC. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: make deu hash lock global and remove md5_hmac_ exportsDaniel Kestrel2022-01-066-48/+23
| | | | | | | | | | | All hash algorithms use the same base IFX_HASH_CON to access the hash unit. Parallel threads should not be able to call different hash algorithms and therefor a global lock is required. Fixed linker warning, that md5_hmac_init, md5_hmac_update and md5_hmac_final are static export symbols. The export symbols are not required, because the functions are exposed using shash_alg structure. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: add aes_ofb and aes_cfb algorithmsDaniel Kestrel2022-01-061-0/+194
| | | | | | | | | The functions ifx_deu_aes_cfg and ifx_deu_aes_ofb have been part of the driver ever since. But the functions and definitions to make the algorithms actually usable were missing. This patch adds the neccessary code for aes_ofb and aes_cfb algorithms. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: fix cryptomgr test errors for aesDaniel Kestrel2022-01-061-45/+44
| | | | | | | | | | | When running cryptomgr tests against the driver, there are several occurences of different errors for even and uneven splitted data in the underlying scatterlists for the ctr and ctr_rfc3686 algorithms which are now fixed. Fixed error in ctr_rfc3686_aes_decrypt function which was introduced with the previous commit by using CRYPTO_DIR_ENCRYPT in the decrypt function. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: fix cryptomgr test errors for desDaniel Kestrel2022-01-062-31/+58
| | | | | | | | | | | | | | | | | | | | | | When running cryptomgr tests against the driver, there are several occurences of different errors for setkey of des and des3-ede algorithms. Those key checks are already implemented in the kernels des implementation, so this is added as dependency and the kernel methods are called. It also required adding the kernels des/des3 context definitions to the des_ctx internal structure to be able to call the kernel methods. Fixed ifxdeu-des... setkey unexpectedly succeeded on test vector x; expected_error=-22. Fixed ifxdeu-des... setkey failed on test vector x; expected_error=0, actual_error=-22. Renamed des_ctx internal structure and des_encrypt/des_decrypt methods because they are already defined in the kernel module. Fixed wrong DES_xxx constant definitions in crypto_alg definition for ifxdeu_des3_ede_alg. Fixed method comment errors. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: convert SHA1 after library impl of SHA1 was removedDaniel Kestrel2022-01-062-9/+9
| | | | | | | | | The <linux/cryptohash.h> was removed with Linux 5.8, because it only contained the library implementation of SHA1, which was folded into <crypto/sha.h>. So switch this driver away from using <linux/cryptohash.h>. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: convert blkcipher to skcipherDaniel Kestrel2022-01-063-464/+413
| | | | | | | | | Convert blkcipher to skcipher for the synchronous versions of AES, DES and ARC4. The Block Cipher API was depracated for a while and was removed with Linux 5.5. So switch this driver to the skcipher API. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: set correct control register for AESDaniel Kestrel2022-01-061-1/+1
| | | | | | | | | | | | Some devices initialize AES during boot and AES works out of the box and the correct endianess is set. NDC means (No Danube Compatibility Mode) and the endianess setting has no effect if its set to 0. NDC 0: OFF ENDI bit cannot be written as in Danube To make it work for other devices, the NDC control register needs to be set to 1. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: make cipher/digest usable by opensslMathias Kresin2022-01-059-28/+28
| | | | | | | | | | OpenSSL with cryptdev support uses the data encryption unit (DEU) driver for hard accelerated processing of ciphers/digests, if the flag CRYPTO_ALG_KERN_DRIVER_ONLY is set. Signed-off-by: Mathias Kresin <dev@kresin.me> [fix commit title prefix] Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: aes-ctr: process all input dataMathias Kresin2022-01-051-31/+21
| | | | | | | | | | | | | | | | | | | | | | | Even if the minimum blocksize is set to 16 (AES_BLOCK_SIZE), the crypto manager tests pass 499 bytes of data to the aes-ctr encryption, from which only 496 bytes are actually encrypted. Reading the comment regarding the minimum blocksize, it only states that it's the "smallest possible unit which can be transformed with this algorithm". Which doesn't necessarily mean, the data have to be a multiple of the minimal blocksize. All kernel hardware crypto driver enforce a minimum blocksize of 1, which perfect fine works for the lantiq data encryption unit as well. Lower the blocksize limit to 1, to process not padded data as well. In AES for processing the remaining bytes, uninitialized pointers were used. This patch fixes using uninitialized pointers and wrong offsets. Signed-off-by: Mathias Kresin <dev@kresin.me> [fix commit title prefix] Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: aes: do not read/write behind bufferMathias Kresin2022-01-051-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When handling non-aligned remaining data (not padded to 16 byte [AES_BLOCK_SIZE]), a full 16 byte block is read from the input buffer and written to the output buffer after en-/decryption. While code already assumes that an input buffer could have less than 16 byte remaining, as it can be seen by the code zeroing the remaining bytes till AES_BLOCK_SIZE, the full AES_BLOCK_SIZE is read. An output buffer size of a multiple of AES_BLOCK_SIZE is expected but never validated. To get rid of the read/write behind buffer, use a temporary buffer when dealing with not padded data and only write as much bytes to the output as we read. Do not memcpy directly to the register, to make used of the endian swap macro and to trigger the crypto start operator via the ID0R to trigger the register. Since we might need an endian swap for the output in future, use a temporary buffer for the output as well. The issue could not be observed so far, since all caller of ifx_deu_aes will ignore the padded (remaining) data. Considering that the minimum blocksize for the algorithm is set to AES_BLOCK_SIZE, the behaviour could be called expected. Signed-off-by: Mathias Kresin <dev@kresin.me> [fix commit title prefix] Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ltq-deu: init des/aes before registering crpyto algorithmsMathias Kresin2022-01-052-3/+2
| | | | | | | | | | | | | | The crypto algorithms are registered and available to the system before the chip is actually powered on and the generic parameter for the DEU behaviour set. The issue can mainly be observed if the crypto manager tests are enabled in the kernel config. The crypto manager test run directly after an algorithm is registered. Signed-off-by: Mathias Kresin <dev@kresin.me> [fix commit title prefix] Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* packages: kernel: add i2c hwmon g762 kmod packagePawel Dembicki2021-12-291-0/+15
| | | | | | | This patch adds kernel module for Global Mixed-mode Technology Inc G762 and G763 fan speed PWM controller chips. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kernel: mac80211: refresh patchsetNick Hainke2021-12-241-5/+5
| | | | | | | Refreshed: - 311-mac80211-use-coarse-boottime-for-airtime-fairness-co.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* kernel: ath10k: provide a build variant for small RAM devicesNick Hainke2021-12-243-4/+82
| | | | | | | | | | | | | | | | | | | | | | | Based on: 1ac627024de9 ("kernel: ath10k-ct: provide a build variant for small RAM devices") Like described in the ath10k-ct-smallbuffers version, oom-killer gets triggered frequently by devices with small RAM. That change is necessary for many community mesh networks which use ath10k based devices with too little RAM. The -ct driver has been proven unstable if used with 11s meshing and only wave2 chipsets are supporting 11s. Freifunk Berlin is nowadays assembling its firmware-based completely of vanilla OpenWRT with some package additions which are made through the imagebuilder. Therefore we cannot take the approach other freifunk communities have taken to maintain that patch downstream [1]. Other communities consider these devices as broken and that change would pretty much give those devices a second life [2]. [1] - https://git.freifunk-franken.de/mirror/openwrt/commit/450b306e540bc0f2c8a8841bbe4d9612f2b8cdea [2] - https://github.com/freifunk-gluon/gluon/issues/1988#issuecomment-619532909 Signed-off-by: Simon Polack <spolack+git@mailbox.org> Signed-off-by: Nick Hainke <vincent@systemli.org>
* qoriq: new targetStijn Tintel2021-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Add a new target named "qoriq", that will support boards using PowerPC processors from NXP's QorIQ brand. This doesn't actually add support for any board yet, so that installation instructions can go in the commit message of the commit that adds actual support for a board. Using CONFIG_E6500_CPU here due to the kernel using -mcpu=powerpc64 rather than -mcpu=e5500 when selecting CONFIG_E5500_CPU. The only difference between e5500 and e6500 is AltiVec support, and the kernel checks for it at runtime. Musl will only check at runtime if AltiVec support is disabled at compile-time, so we need to use e5500 in CPU_TYPE to avoid SIGILL. Math emulation (CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED) is required, as neither e5500 nor e6500 implement fsqrt nor fsqrts, and musl hardcodes sqrt and sqrtf to use these ASM instructions on PowerPC64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com>
* mt76: fix Makefile dependencies for mt7921Lorenzo Bianconi2021-12-211-3/+4
| | | | Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
* kernel: drop obsolete kmod-video-core dependenciesStijn Tintel2021-12-201-1/+1
| | | | | | These dependencies do not exist in any of the supported kernel versions. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: drop obsolete symbols from kmod-video-coreStijn Tintel2021-12-201-7/+1
| | | | | | These symbols don't exist in any of the supported kernel versions. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* mac80211: optimize airtime fairness code to reduce cpu usageFelix Fietkau2021-12-171-0/+60
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.15.8Hauke Mehrtens2021-12-1419-390/+29
| | | | | | | | | | | | | The following patches were backported from upstream before and are not needed any more: package/kernel/mac80211/patches/ath10k/081-ath10k-fix-module-load-regression-with-iram-recovery-feature.patch package/kernel/mac80211/patches/ath10k/980-ath10k-fix-max-antenna-gain-unit.patch package/kernel/mac80211/patches/build/010-headers-Add-devm_platform_get_and_ioremap_resource.patch package/kernel/mac80211/patches/subsys/300-mac80211-drop-check-for-DONT_REORDER-in-__ieee80211_.patch package/kernel/mac80211/patches/subsys/307-mac80211-do-not-access-the-IV-when-it-was-stripped.patch package/kernel/mac80211/patches/subsys/308-mac80211-fix-radiotap-header-generation.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rtl8812au-ct: update driver to be ready for 5.15Janpieter Sollie2021-12-111-3/+3
| | | | | | | | update rtl8812au-ct driver to be ready for 5.15 Linux. Signed-off-by: Janpieter Sollie <janpieter.sollie@edpnet.be> [added commit message from PR with changes, added tag to subject] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: add kmod-video-gspca-sq930xJosef Schlehofer2021-12-051-0/+15
| | | | | | | | This module adds support for USB WebCams, which uses SQ930X chip [1]. [1] https://cateee.net/lkddb/web-lkddb/USB_GSPCA_SQ930X.html Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
* kernel: btrfs: enable ACLJosef Schlehofer2021-12-051-1/+0
| | | | | | | | | | | | | | | | | By default CONFIG_BTRFS_FS_POSIX_ACL is disabled, it should be enabled only when you enable CONFIG_FS_POSIX_ACL. Right now, when you enable CONFIG_FS_POSIX_ACL it will enable CONFIG_BTRFS_FS_POSIX_ACL, but it will be disabled once you install kmod-btrfs. This should prevent it. Btrfs has enabled by default ACL for mount option. More details: https://cateee.net/lkddb/web-lkddb/BTRFS_FS_POSIX_ACL.html https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs(5) Signed-off-by: Josef Schlehofer <josef.schlehofer@nic.cz>
* nat46: update to latest git HEADHans Dedecker2021-12-051-3/+3
| | | | | | | d9bc161 nat46-core: Fix typo since day one (#31) 840e235 Fix coverity issues observed so far (#30) Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* mt76: update to the latest versionFelix Fietkau2021-12-031-3/+3
| | | | | | | | | 71e08471ab56 mt76: eeprom: fix return code on corrected bit-flips 9a8fc6636d83 mt76: move sar_capa configuration in common code 7cdbea1dc82a mt76: only access ieee80211_hdr after mt76_insert_ccmp_hdr 678071ef7029 mt76: mt7615: clear mcu error interrupt status on mt7663 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix tx aggregation locking issueFelix Fietkau2021-12-021-0/+79
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix queue assignment of aggregation start requestsFelix Fietkau2021-12-021-0/+28
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mt76: update to the latest versionFelix Fietkau2021-12-021-3/+3
| | | | | | | | | | | | | | | | | | | | | a6451fea5a3d mt76: mt7615: improve wmm index allocation 1911486414dc mt76: mt7915: improve wmm index allocation 7998a41d1321 mt76: clear sta powersave flag after notifying driver 664475574438 mt76: mt7603: introduce SAR support 5c0da39c940b mt76: mt7915: introduce SAR support 77fc6c439a32 mt76: mt7603: improve reliability of tx powersave filtering 094b3d800835 firmware: update mt7663 rebb firmware to 20200904171623 25237b19bcc1 mt76: eeprom: tolerate corrected bit-flips 1463cb4c6ac2 mt76: mt7921: fix boolreturn.cocci warning 586bad6020f7 mt76: mt7921: use correct iftype data on 6GHz cap init 8ec95c910425 mt76: mt7921s: fix bus hang with wrong privilege 688e30c7d854 firmware: update mt7921 firmware to version 20211014 6fad970893dd mt76: fix key pointer overwrite in mt7921s_write_txwi/mt7663_usb_sdio_write_txwi 95acf972750c mt76: fix 802.3 RX fail by hdr_trans 3f402b0cf6c0 mt76: mt7921s: fix possible kernel crash due to invalid Rx count 929a03a8d65d mt76: connac: fix last_chan configuration in mt76_connac_mcu_rate_txpower_band Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fixed missing cfg80211 dependency on kmod-rfkillOldřich Jedlička2021-11-291-1/+1
| | | | | | | | | | | | | | | | | | | When compiling with CONFIG_USE_RFKILL=y, the build fails and mentions that dependency on kmod-rfkill is missing, which is correct [1]. Add this dependency to the Makefile. Depend on +USE_RFKILL and not PACKAGE_kmod-rfkill, because it forces selection of kmod-rfkill package. Other combinations in DEPENDS like USE_RFKILL:kmod-rfkill or (+)PACKAGE_kmod-rfkill:kmod-rfkill do not force selection of kmod-rfkill package. The kmod-rfkill package itself depends on USE_RFKILL, so with +USE_RFKILL in kmod-cfg80211 package it is not possible to select wrong combination of packages. [1] https://linux-wireless.vger.kernel.narkive.com/m8JY9Iks/cfg80211-depends-on-rfkill-or-not Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
* ath10k-ct: Fix spectral scan NULL pointerRobert Marko2021-11-291-0/+32
| | | | | | | | | | | | If spectral scan support is enabled then ath10k-ct will cause a NULL pointer due to relay_open() being called with a const callback struct which is only supported in kernel 5.11 and later. So, simply check the kernel version and if 5.11 and newer use the const callback struct, otherwise use the regular struct. Fixes: 553a3ac ("ath10k-ct: use 5.15 version") Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: add back kmod-leds-tlc591xxMatthew Hagan2021-11-281-0/+18
| | | | | | | | | | | Add back support for the TLC591xx series LEDs which are used in the ipq806x-based Meraki Cryptid series devices. This module previously existed for the mvebu platform but was removed at commit f849c2c83247340d623fdb549e2b75f4c1feea62 due to being enabled in that platform's kernel config. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ath10k-ct: update version to fix DFS for VHT160Hannu Nyman2021-11-282-4/+4
| | | | | | | | | | Update ath10k-ct to get the upstream fix for DFS support for VHT160 in the 5.15 based ath10k-ct. (Switch from 5.10 to 5.15 surfaced the upstream regression.) * refresh one patch Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* ath10k: support nvmem-cells for (pre-)calibrationChristian Lamparter2021-11-288-24/+348
| | | | | | refreshes mac80211 + ath10k-ct patches. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath10k-ct: use 5.15 versionAnsuel Smith2021-11-276-109/+72
| | | | | | | | | | | We switched to mac80211 5.15 backport version. Also switch ath10k-ct to 5.15 and drop the mac address patch that got merged upstream. Compile and tested on ipq806x Netgear R7800. Also update the ath10k-ct to latest version to fix a typo for the new version in the kernel log. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* mac80211: fix a regression in generating radiotap headersFelix Fietkau2021-11-261-0/+49
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport fix for dealing with stripped IV on rxFelix Fietkau2021-11-261-0/+26
| | | | | | This fixes potental rx drop issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add a fix for kernel warnings when forwarding packets in mesh modeFelix Fietkau2021-11-241-0/+62
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix regression in SSN handling of addba txFelix Fietkau2021-11-241-0/+44
| | | | | | | | Some drivers that do their own sequence number allocation (e.g. ath9k, mwlwifi) rely on being able to modify params->ssn on starting tx ampdu sessions. This was broken by a change that modified it to use sta->tid_seq[tid] instead. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mt76: update to the latest versionFelix Fietkau2021-11-231-3/+3
| | | | | | | | | | | f0a5b1118fa4 mt76: mt7915: fix decap offload corner case with 4-addr VLAN frames 67f93aa9a207 mt76: mt7615: fix decap offload corner case with 4-addr VLAN frames 46261d4bbfb5 mt76: fix possible pktid leak a7fdd272efee mt76: mt7921: move mt76_connac_mcu_set_hif_suspend to bus-related files 3d9e13f567a4 mt76: mt7921s: fix the device cannot sleep deeply in suspend 99225b985cbc mt76: mt7615: fix unused tx antenna mask in testmode Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix crash in drivers relying on mac80211 retransmitting packets ↵Felix Fietkau2021-11-231-0/+35
| | | | | | | | for powersave clients This showed up primarily on rt2x00 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mt76: update to the latest versionFelix Fietkau2021-11-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5dd32475c859 mt76: mt7915: get rid of mt7915_mcu_set_fixed_rate routine f5cfaaff3dd1 mt76: mt7921: drop offload_flags overwritten f5ad840ca5c0 mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() 29a8a08827b1 mt76: mt7921: fix MT7921E reset failure f44685f2faee mt76: mt7915: fix return condition in mt7915_tm_reg_backup_restore() ae8e02ddd2b0 mt76: mt7915: fix SMPS operation fail e814e15716b0 mt76: reverse the first fragmented frame to 802.11 c9bca3ed9566 mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode dd054b7e16e7 mt76: only set rx radiotap flag from within decoder functions f1520c9bb332 mt76: mt7915: add default calibrated data support 0c489ea2865a mt76: testmode: add support to set MAC 91c5da3d0a7c mt76: mt7921: add support for PCIe ID 0x0608/0x0616 ca39b4bbc227 mt76: debugfs: fix queue reporting for mt76-usb 00b6f497e2e8 mt76: mt7921: introduce 160 MHz channel bandwidth support c1574466c733 mt76: fix possible OOB issue in mt76_calculate_default_rate 9680a17b0aed mt76: mt7921: fix possible NULL pointer dereference in mt7921_mac_write_txwi 78fc0dcdcef0 mt76: connac: fix a theoretical NULL pointer dereference in mt76_connac_get_phy_mode 05953e7d6fe7 mt76: mt7615: remove dead code in get_omac_idx 39f6c37127c1 mt76: connac: remove PHY_MODE_AX_6G configuration in mt76_connac_get_phy_mode 526591b203f3 mt76: do not pass the received frame with decryption error 256789bb400f mt76: fix the wiphy's available antennas to the correct value fa187f5cf068 mt76: fix timestamp check in tx_status 11ebf11a3587 mt76: mt7915: fix the wrong SMPS mode 8c69b815ee7f mt76: mt7921: honor mt76_connac_mcu_set_rate_txpower return value in mt7921_config bc6798f729f9 mt76: move sar utilities to mt76-core module b1d0ad2e74fe mt76: mt76x02: introduce SAR support Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: set beamformer/beamformee number of antennas in VHT capsFelix Fietkau2021-11-221-0/+16
| | | | | | Without this, beamforming is probably not working Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: add kmod-usb-net-smsc75xxMarius Durbaca2021-11-201-0/+16
| | | | | | add kernel module for smsc75xx based USB 2.0 Gigabit Ethernet devices Signed-off-by: Marius Durbaca <mariusd84@gmail.com>