nss-packages-qosmio/qca-nss-ecm/patches/0002-treewide-rework-ipv6_dev_find_and_hold.patch
Qosmio 8d54d726c2 Move non-upstream NSS packages back into repo
To keep fork as closely synced with upstream, move NSS packages back
into repository. Not sure why they were moved out from my original fork.
* nss-firmware
* qca-nss-crypto
* qca-nss-cfi

Removed the following:
* mhz (already available in packages repo)
* qrtr (unecessary, and has been broken for years)

Also moved packages out of `qca` and back into root directory.
2024-02-19 01:35:04 -05:00

64 lines
2.2 KiB
Diff

--- a/ecm_interface.c
+++ b/ecm_interface.c
@@ -339,9 +339,9 @@ static struct net_device *ecm_interface_
ECM_IP_ADDR_TO_NIN6_ADDR(addr6, addr);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0))
- dev = (struct net_device *)ipv6_dev_find(&init_net, &addr6, 1);
+ dev = (struct net_device *)ipv6_dev_find_and_hold(&init_net, &addr6, 1);
#else
- dev = (struct net_device *)ipv6_dev_find(&init_net, &addr6, NULL);
+ dev = (struct net_device *)ipv6_dev_find_and_hold(&init_net, &addr6, 1);
#endif
return dev;
}
@@ -802,9 +802,9 @@ static bool ecm_interface_mac_addr_get_i
*/
ECM_IP_ADDR_TO_NIN6_ADDR(daddr, addr);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0))
- local_dev = ipv6_dev_find(&init_net, &daddr, 1);
+ local_dev = ipv6_dev_find_and_hold(&init_net, &daddr, 1);
#else
- local_dev = ipv6_dev_find(&init_net, &daddr, NULL);
+ local_dev = ipv6_dev_find_and_hold(&init_net, &daddr, 1);
#endif
if (local_dev) {
DEBUG_TRACE("%pi6 is a local address\n", &daddr);
--- a/frontends/ecm_front_end_common.c
+++ b/frontends/ecm_front_end_common.c
@@ -103,6 +103,10 @@
#endif
#endif
+#ifdef ECM_IPV6_ENABLE
+#include "ecm_front_end_ipv6.h"
+#endif
+
#ifdef ECM_FRONT_END_FSE_ENABLE
/*
* Callback object for ECM frontend interaction with wlan driver to add/delete FSE rules.
@@ -614,9 +618,9 @@ bool ecm_front_end_gre_proto_is_accel_al
} else {
#ifdef ECM_IPV6_ENABLE
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0))
- dev = ipv6_dev_find(&init_net, &(orig_tuple->src.u3.in6), 1);
+ dev = ipv6_dev_find_and_hold(&init_net, &(orig_tuple->src.u3.in6), 1);
#else
- dev = ipv6_dev_find(&init_net, &(orig_tuple->src.u3.in6), NULL);
+ dev = ipv6_dev_find_and_hold(&init_net, &(orig_tuple->src.u3.in6), 1);
#endif
if (dev) {
/*
@@ -628,9 +632,9 @@ bool ecm_front_end_gre_proto_is_accel_al
}
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0))
- dev = ipv6_dev_find(&init_net, &(orig_tuple->dst.u3.in6), 1);
+ dev = ipv6_dev_find_and_hold(&init_net, &(orig_tuple->dst.u3.in6), 1);
#else
- dev = ipv6_dev_find(&init_net, &(orig_tuple->dst.u3.in6), NULL);
+ dev = ipv6_dev_find_and_hold(&init_net, &(orig_tuple->dst.u3.in6), 1);
#endif
if (dev) {
/*