linux: fix brcmfmac driver

Reverts a patch that broke WPA auth in offload mode for brcmfmac
(broadcom driver). See
https://lore.kernel.org/linux-wireless/ZAx0TWRBlGfv7pNl@kroah.com/T/#m0bbd179b92fbbcae0498fd642c31c1ecab1968c0
for context.

Had to hack around a bit to make sure this doesn't get applied to
hardened which uses an older patch-level without the problematic patch.
This commit is contained in:
Maximilian Bosch 2023-03-11 21:27:16 +01:00
parent d13fc847f1
commit 141317dff9
No known key found for this signature in database
GPG key ID: 9A6EEA275CA5BE0A
2 changed files with 19 additions and 1 deletions

View file

@ -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=";
};
};
}

View file

@ -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
];
};