]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
kernel: reset asix88179 twice like in older kernels
authorArne Fitzenreiter <arne_f@ipfire.org>
Tue, 4 Jun 2024 12:08:53 +0000 (14:08 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 4 Jun 2024 12:12:08 +0000 (14:12 +0200)
the kernel developers has removed a reset at bring the
device first up to save time. At my test's this result in
not detecting the link correct. This readd the reset and at
my tests the device has worked.

fixes #13692

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
lfs/linux
src/patches/linux/linux-6.6.32-asix88179_reset.patch [new file with mode: 0644]

index ca3b051191dd4c8b3b13499ac5ef4fe71362b805..3f5e608385aa3f270edc6fed0e0b456d99e404cc 100644 (file)
--- a/lfs/linux
+++ b/lfs/linux
@@ -133,6 +133,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        # https://bugzilla.ipfire.org/show_bug.cgi?id=12760
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-5.15-NFQUEUE-Hold-RCU-read-lock-while-calling-nf_reinject.patch
 
+       # reset ax88179 twice like in older kernels
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-6.6.32-asix88179_reset.patch
+
        # Fix external module compile
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-6.0-fix_external_module_build.patch
 
diff --git a/src/patches/linux/linux-6.6.32-asix88179_reset.patch b/src/patches/linux/linux-6.6.32-asix88179_reset.patch
new file mode 100644 (file)
index 0000000..f0e7d09
--- /dev/null
@@ -0,0 +1,17 @@
+diff -Naur linux-6.6.32.org/drivers/net/usb/ax88179_178a.c linux-6.6.32/drivers/net/usb/ax88179_178a.c
+--- linux-6.6.32.org/drivers/net/usb/ax88179_178a.c    2024-05-25 16:22:56.000000000 +0200
++++ linux-6.6.32/drivers/net/usb/ax88179_178a.c        2024-06-04 10:45:18.113453100 +0200
+@@ -1678,10 +1678,10 @@
+ {
+       struct ax88179_data *ax179_data = dev->driver_priv;
+-      if (ax179_data->initialized)
++//    if (ax179_data->initialized)
+               ax88179_reset(dev);
+-      else
+-              ax179_data->initialized = 1;
++//    else
++//            ax179_data->initialized = 1;
+       return 0;
+ }