summaryrefslogtreecommitdiff
path: root/backport
AgeCommit message (Collapse)Author
2019-07-06header: fix of_get_mac_address()Hauke Mehrtens
The behavior of of_get_mac_address() changed in kernel 5.2, it now returns an error code and not NULL in case of an error. This was changed in upstream kernel commit d01f449c008a ("of_net: add NVMEM support to of_get_mac_address") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-06defconfig: update wifi defconfigHauke Mehrtens
This removes the removed driver CPTCFG_R8822BE and adds the newly added drivers CPTCFG_MT7603E, CPTCFG_MT7615E and CPTCFG_RTW88 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-06header: Remove include/net/inet_frag.hHauke Mehrtens
The functions provided by include/net/inet_frag.h are not used by any code in backports any more and this file causes compile warnings with kernel 3.16. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-06header: add hrtimer_forward() and ns_to_ktime()Hauke Mehrtens
ktime_t was converted from the union to s64 in kernel 4.10. hrtimer_start() was already converted some time ago in backports, now mac80211_hwsim uses hrtimer_start() together with the newly added functions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-06header: Make napi_complete_done() return boolHauke Mehrtens
In the current kernel napi_complete_done() returns a bool and this is now used by the mt76 driver. Try to backport this functionality by doing the check which makes the function return false already in backports. This was added in upstream kernel commit 364b6055738b ("net: busy-poll: return busypolling status to drivers") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-06header: Add HRTIMER_MODE_{ABS,REL}_SOFTHauke Mehrtens
mac80211_hwsim uses HRTIMER_MODE_ABS_SOFT and HRTIMER_MODE_REL_SOFT now. These enum entries were added in commit 98ecadd4305d ("hrtimer: Add clock bases and hrtimer mode for softirq context") in kernel 4.16. This will execute the timers in hard interrupt context and not in soft interrupt context like intended. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-06header: Add sdio_retune*() functionsHauke Mehrtens
The brcmfmac driver now uses new sdio_retune*() functions. They are added with kernel 5.2-rc6 and are backported to kernel 4.19.56 and 5.1.15 sdio_retune_hold_now() and sdio_retune_release() should work like in the upstream kernel, the implementation of mmc_retune_release() and mmc_retune_hold() was copied to backports into these functions. On kernel < 4.3 backporting this is not so easy, so just use an empty implementation there. It is not possible to backport sdio_retune_crc_disable() and sdio_retune_crc_enable() because they need an additional member in a structure, just add an empty implementation. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-06header: Add backport-include/net/ipv6_stubs.hHauke Mehrtens
ipv6_stubs.h was added in kernel commit 3616d08bcbb5 ("ipv6: Move ipv6 stubs to a separate header file"). Most of its content is from include/net/addrconf.h, so include that file indirectly on older kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-06backport: Extend netlink parsing with strict validationJohannes Berg
This extends the backported netlink handling with strict parsing. the struct gen_ops now supports the validate member and does the validation inside the backport layer. This is needed to use backports with kernel 5.2. Signed-off-by: Johannes Berg <johannes.berg@intel.com> [Hauke: Remove nla_validate_nested()] [Hauke: Support struct genl_ops on older kernel versions] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-06-30patches: Make patches apply on top of kernel 5.2-rc6Hauke Mehrtens
The cordic.c file was moved and the driver from drivers/staging/rtlwifi/ was removed in mainline kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-06-27backport-include: add empty lockdep_map structure in lockdep.hArend van Spriel
include/linux/rhashtable.h now uses struct lockdep_map unconditionally which is fine for upstream as lockdep.h defines an empty lockdep_map structure if CONFIG_LOCKDEP is not set. However, that is only true since kernel 4.15 so adding such definition in our lockdep.h to cover older kernels. Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
2019-06-27backport: check for failure when allocating ops in genetlinkLuca Coelho
We were not checking if the allocation failed in backport_genl_register_family(), which could lead to NULL pointer dereferences later. Fix that. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-06-27backport: rcupdate: add rcu_head_init and rcu_head_after_call_rcuArend van Spriel
Include static inline functions that were added by commit 74de6960c99d ("rcu: Provide functions for determining if call_rcu() has been invoked"). Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> [Activate on < 4.20 only] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-03-28backports: Add smp_acquire__after_ctrl_dep()Hauke Mehrtens
smp_acquire__after_ctrl_dep() was introduced in kernel 4.8 in upstream Linux commit 33ac279677d ("locking/barriers: Introduce smp_acquire__after_ctrl_dep()") and is used by backports lib-refcount.c implementation now. This just adds the default implementation to backports. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-03-28backports: Add rhashtable_lookup_get_insert_fast()Hauke Mehrtens
rhashtable_lookup_get_insert_fast() was added in kernel 4.12 in Linux upstream commit f9fe1c12d12 ("rhashtable: Add rhashtable_lookup_get_insert_fast") It is now used by mac80211. For kernel < 4.9 we already backport the complete rhashtable implementation, so this is only needed for kernels more recent than 4.9. This is copied from upstreamn Linux kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-03-28backports: update backport/backport-include/net/netlink.hAceLan Kao
Add new macros introduced from v5.1-rc1 23323289b154 netlink: reduce NLA_POLICY_NESTED{,_ARRAY} arguments v3: Fix v4.20 compilation error Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
2019-03-28backport: add atomic_fetch_add_unless()Luca Coelho
The iwlwifi driver now needs this function. Backport it. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-03-28backports: genetlink: avoid NULL dereferenceJohannes Berg
If we fail to allocate extack, we fall back to the code path that tries to send an error *with* extack, but that will access our extack pointer. It also doesn't make sense, so just return an error back to netlink immediately and let it handle sending the error message to userspace. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-03-28backport: fix handling of nospec.h for 4.15.0 and 4.15.1Luca Coelho
The patch that introduces nospec.h was cherry-picked for 4.15 only in 4.15.2, so we need to adjust the ifdefs of our stub. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-03-28backport: add include ftrace_event.h back to backport-4.0.cLuca Coelho
At least one function, namely ftrace_print_array_seq(), still needs the ftrace_event.h header file, otherwise sparse may warning that it is declared as non-static without pre-declaration. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-03-20backport: add v5.* to the MakefileLuca Coelho
Now that 4.21 became 5.0, we need to update the Makefile accordingly. Stop looking at 4.19 for the 4.* series and add 5.*. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2019-03-01backports: add defconfigs for Marvell wifi driversTamás Szűcs
Enable users to be able to conveniently select the Marvell wifi drivers that they need. Signed-off-by: Tamás Szűcs <tszucs@protonmail.ch> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-01-26backports: Rename QTNFMAC_PEARL_PCIE to QTNFMAC_PCIEHauke Mehrtens
The name of this configuration option was changed in Linux commit b7da53cd6cd1 ("qtnfmac_pcie: use single PCIe driver for all platforms"). Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-01-26backports: Add extra parameter to dev_open()Hauke Mehrtens
dev_open() got the extra parameter extack in Linux commit 00f54e68924e ("net: core: dev: Add extack argument to dev_open()"), just ignore it on older kernel versions. This is used by the hostap driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-01-26backports: Add CORDIC_FLOATHauke Mehrtens
This was introduced in Linux commit 58d81d64e06f ("lib: cordic: Move cordic macros and defines to header file") and is used by the b43 and brcmsmac driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-01-26backports: Add nl_set_extack_cookie_u64()Hauke Mehrtens
This was introduced in Linux commit 801f87469ee8 ("netlink: add nl_set_extack_cookie_u64()") and is used by the wireless subsystem. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-01-26backports: Add DEFINE_SHOW_ATTRIBUTE macroHauke Mehrtens
This was introduced in Linux commit a08f06bb7a07 ("seq_file: Introduce DEFINE_SHOW_ATTRIBUTE() helper macro" and is used by the cw1200 and the wil6210 driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-01-26backports: Remove get_user_pages() functionsHauke Mehrtens
These functions are not used by any driver any more, remove them. They were introduced for the frame vector code which was used by the media subsystem. They also case some compile problems with kernel 4.4 which get fixed by just removing this code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-06backports: Update wifi default configurationHauke Mehrtens
Add some new wifi drivers to the default configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-06backports: Remove unused default configurationsHauke Mehrtens
The alx, igb and the media driver were removed some time ago, also remove the default configurations. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-06backports: Add device_get_mac_address()Hauke Mehrtens
This was added in upstream commit 4c96b7dc0d39 ("Add a matching set of device_ functions for determining mac/phy") and is used by ath10k now. In the mainline kernel it uses device_property_read_u8_array(), but that was only introduced in kernel 3.18, use of_property_read_u8_array() only on all kernel versions where this backport is needed which was added much earlier. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-06backports: Add page_frag_alloc() and __page_frag_cache_drain()Hauke Mehrtens
This was introduced in kernel commit 8c2dd3e4a4b ("mm: rename __alloc_page_frag to page_frag_alloc and __free_page_frag to page_frag_free") and commit 44fdffd7050 ("mm: add support for releasing multiple instances of a page") and is used by the mt76 driver. Backporting it to kernel older than 4.2 is harder so just do it till that version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-06backports: Add page_ref_count() and page_ref_sub_and_test()Hauke Mehrtens
This was introduced in kernel commit fe896d18789 ("mm: introduce page reference manipulation functions") and will be used by __page_frag_cache_drain() in the next commit. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-06backports: Remove BPAUTO_CRYPTO_SKCIPHERHauke Mehrtens
This was added in commit 32751c901728 ("backport: add crypto skcipher interface"), but all the drivers which need it were deactivated in commit cdcec8e6128 ("backports: disable things needing LIB80211 unless SKCIPHER can exist") because it does not compile any more. Remove this code now completely from the tree. lib80211 does not use skcipher any more, but directly uses the crpyto API. since kernel 4.20. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-03backports: Fix pci_alloc_irq_vectors() backportHauke Mehrtens
This copies the pci_alloc_irq_vectors() function from kernel 4.9 and replaces the __pci_enable_msi{x}_range() calls with calls to pci_enable_msi{x}_range(), these were backported to kernel versions < 3.14, so no need to handle the older kernels specially here. This also adds support for MSIx IRQs and adds the PCI_IRQ_* defines. Fixes: 162a6b312f1b ("add support for pci_alloc_irq_vectors") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Cc: Omer Dagan <omer.dagan@tandemg.com>
2018-11-07backports: wrap pci_alloc_irq_vectors() in PCI definesWinnie Chang
pci_alloc_irq_vectors() needs to be wrapped in CONFIG_PCI and CONFIG_PCI_MSI definition to avoid a function redefinition compiler error. Fixes: 162a6b312f1b ("add support for pci_alloc_irq_vectors") Signed-off-by: Winnie Chang <winnie.chang@cypress.com> Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-11-05add support for pci_alloc_irq_vectorsOmer Dagan
add support for function in kernels under 4.8 function is a wrapper around 'pci_enable_msi_block' or 'pci_enable_msi_range' depending on the kernel version the min\max number of interrupts was overridden to always use the max number of interrupts which seems correct since it was not supported in the old APIs Signed-off-by: Omer Dagan <omer.dagan@tandemg.com> [use GPL expert as everything in backports, remove unused ifdef] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-11-05backports: check if genl pre_doit and post_doit are setLuca Coelho
In the pre_doit and post_doit backports, we set the ops to our backported version, so genetlink itself will always call it. But then we don't check if the actual ops are set before calling them, which causes a call to a NULL pointer. Fix this by checking if the ops are actually set before calling them. Fixes: ff6746638cf1 ("backports: genetlink: update completely") Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-12backports: support xz compression in uninstallJohannes Berg
Support xz compression in uninstall. Also use compat.ko instead of mac80211.ko to detect this, as compat is always compiled and mac80211 may not be. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-02backports: genetlink: update completelyJohannes Berg
Replace all the different nested versions of generic netlink backport with a single one, covering from < 3.13 all the way to the upcoming netlink policy improvements in 4.20. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-02backports: add __skb_peek()Johannes Berg
New API slated to show up in 4.20. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-02backports: backport most of improved netlink policy validationJohannes Berg
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-02backports: fix genlmsg_nlhdr() backportJohannes Berg
Since 4.15 this no longer takes a family argument, so add that to the backports instead of trying to work around the family argument having changed type. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-02backports: rename magic functions for netlink parsingJohannes Berg
Make all the magic variable argument calls inlines and rename them so we can override them more easily later. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-02Revert "backports: crypto_memneq has been backported to 3.12 and 3.10"Johannes Berg
This reverts commit 1b481348b4564970e3cfa04023f1cc22ce2b6931. It actually broke the build to include this, as memneq.c is always built for kernels < 3.13, and thus we get a duplicate symbol export if we skip the backport definitions. Easier than making the build system depend on the strange versions is to just always use our backported version with symbol rename. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-02backports: add missing include in 3.13 compat codeJohannes Berg
If we don't include <linux/net.h> then __BACKPORT_NET_GET_RANDOM_ONCE can never be defined, and we'll never get the compat code. Fix that. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-10-02backport: check Ubuntu kernel for u64_stats_update_begin_irqsave()Luca Coelho
Ubuntu cherry-picked the patch that added u64_stat_update_begin_irqsave() in their 4.15 kernel, so we get a redefinition compilation error if we try to compile against that. To solve this, check UTS_UBUNTU_RELEASE_ABI and don't define our backported function if it's 33 or higher. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-26compat: remove bluetooth from skcipherJohannes Berg
Just clean up the dependency list, skcipher is known to not work, but we neither backport bluetooth now, nor does current upstream bluetooth actually need skcipher. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-25backports: add pm_runtime_force_suspend/pm_runtime_force_resumeJohannes Berg
We can't really backport those, but add them anyway for compilation, perhaps somebody doesn't want to suspend/resume? Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-25backports: Add 3. parameter to of_dma_configure()Hauke Mehrtens
With commit 3d6ce86ee794 ("drivers: remove force dma flag from buses") in kernel 4.18 of_dma_configure() got the extra parameter force_dma. This is backported by setting the force_dma member which was added in commit d89e2378a97f ("drivers: flag buses which demand DMA configuration") in kernel 4.15. In older kernel versions we just ignore this parameter as the of_dma_configure() function internally takes care of setting this correctly. Since commit 7b07cbefb68d ("iommu: of: Handle IOMMU lookup failure with deferred probing or error") in kernel 4.12 this function returns int and not void any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>