diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 5912abf4181d..68436fbf97a7 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -62,4 +62,13 @@ name = "fix-em-ice-bonding"; patch = ./fix-em-ice-bonding.patch; }; + + # https://lore.kernel.org/linux-wireless/ZAx0TWRBlGfv7pNl@kroah.com/T/#m11e6e0915ab8fa19ce8bc9695ab288c0fe018edf + fix-brcmfmac = { + name = "fix-brcmfmac"; + patch = fetchpatch { + url = "https://lore.kernel.org/linux-wireless/20230311141914.24444-1-marcan@marcan.st/raw"; + sha256 = "sha256-Fjap48Lef8Mi1i0t13/rT2SoYcbO8HJuXhJMn7HK3Ds="; + }; + }; } diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index acb5b3d1740a..dd7279adda0d 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -34,6 +34,8 @@ let major = lib.versions.major version; sha256 = kernelPatches.hardened.${kernel.meta.branch}.sha256; modDirVersion' = builtins.replaceStrings [ kernel.version ] [ version ] kernel.modDirVersion; + # FIXME remove as soon as the revert happened upstream! + basePatches = lib.filter ({ name, ... }: name != "fix-brcmfmac") kernel.kernelPatches; in kernel.override { structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix { inherit stdenv lib version; @@ -49,7 +51,7 @@ let broken = kernel.meta.broken || (stdenv.isx86_64 && lib.versions.majorMinor version == "5.4"); }; }; - kernelPatches = kernel.kernelPatches ++ [ + kernelPatches = basePatches ++ [ kernelPatches.hardened.${kernel.meta.branch} ]; isHardened = true; @@ -104,6 +106,7 @@ in { # when adding a new linux version kernelPatches.cpu-cgroup-v2."4.11" kernelPatches.modinst_arg_list_too_long + kernelPatches.fix-brcmfmac ]; }; @@ -112,6 +115,7 @@ in { [ kernelPatches.bridge_stp_helper kernelPatches.request_key_helper kernelPatches.modinst_arg_list_too_long + kernelPatches.fix-brcmfmac ]; }; @@ -120,6 +124,7 @@ in { kernelPatches.bridge_stp_helper kernelPatches.request_key_helper kernelPatches.rtl8761b_support + kernelPatches.fix-brcmfmac ]; }; @@ -134,6 +139,7 @@ in { kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.request_key_helper + kernelPatches.fix-brcmfmac ]; }; @@ -150,6 +156,7 @@ in { kernelPatches.bridge_stp_helper kernelPatches.request_key_helper kernelPatches.fix-em-ice-bonding + kernelPatches.fix-brcmfmac ]; }; @@ -166,6 +173,7 @@ in { kernelPatches.bridge_stp_helper kernelPatches.request_key_helper kernelPatches.fix-em-ice-bonding + kernelPatches.fix-brcmfmac ]; }; @@ -174,6 +182,7 @@ in { kernelPatches.bridge_stp_helper kernelPatches.request_key_helper kernelPatches.fix-em-ice-bonding + kernelPatches.fix-brcmfmac ]; };