diff --git a/pkgs/os-specific/linux/ax99100/default.nix b/pkgs/os-specific/linux/ax99100/default.nix index 91999c0113c6..761800cfd7ba 100644 --- a/pkgs/os-specific/linux/ax99100/default.nix +++ b/pkgs/os-specific/linux/ax99100/default.nix @@ -28,6 +28,7 @@ stdenv.mkDerivation { ./kernel-6.1-set_termios-const-ktermios.patch ] ++ lib.optionals (lib.versionAtLeast kernel.version "6.2") [ ./kernel-6.2-fix-pointer-type.patch + ./kernel-6.4-fix-define-semaphore.patch ]; patchFlags = [ "-p0" ]; diff --git a/pkgs/os-specific/linux/ax99100/kernel-6.4-fix-define-semaphore.patch b/pkgs/os-specific/linux/ax99100/kernel-6.4-fix-define-semaphore.patch new file mode 100644 index 000000000000..434bb559e177 --- /dev/null +++ b/pkgs/os-specific/linux/ax99100/kernel-6.4-fix-define-semaphore.patch @@ -0,0 +1,14 @@ +--- ax99100_sp.c ++++ ax99100_sp.c +@@ -2670,8 +2670,10 @@ static void serial99100_dma_tx_tasklet (unsigned long param) + + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) + static DECLARE_MUTEX(serial99100_sem); +-#else ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(6,4,0) + static DEFINE_SEMAPHORE(serial99100_sem); ++#else ++static DEFINE_SEMAPHORE(serial99100_sem, 1); + #endif + + static struct uart_driver starex_serial_driver = {