Unverified Commit 141317df authored by Maximilian Bosch's avatar Maximilian Bosch
Browse files

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.
parent d13fc847
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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=";
    };
  };
}
+10 −1
Original line number Diff line number Diff line
@@ -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
      ];
    };