mirror of
https://github.com/NixOS/nixos-hardware.git
synced 2025-11-04 01:07:14 +08:00
Add wink patch for disabling MHI M2 state. Rename firmware.
Disabling the MHI M2 state appears to completely resolve issues where enabling the wifi firmware would cause the the whole system to freeze quite frequently. The reason for why this fix works so well is still unknown and under investigation. See some discussion here: http://lists.infradead.org/pipermail/ath11k/2020-December/000876.html Also renames the firmware package to clarify that it is for the wifi driver. This is to avoid confusion with the bluetooth firmware which will be added in an upcoming patch.
This commit is contained in:
@@ -7,12 +7,12 @@
|
||||
|
||||
# TODO: upstream to NixOS/nixpkgs
|
||||
nixpkgs.overlays = [(final: previous: {
|
||||
qca6390-firmware = final.callPackage ./qca6390-firmware.nix {};
|
||||
qca6390-wifi-firmware = final.callPackage ./qca6390-wifi-firmware.nix {};
|
||||
})];
|
||||
|
||||
hardware.firmware = lib.mkBefore [
|
||||
# Firmware for the AX500 (wi-fi & bluetooth chip).
|
||||
pkgs.qca6390-firmware
|
||||
pkgs.qca6390-wifi-firmware
|
||||
];
|
||||
|
||||
# The QCA6390 driver currently requires a specific version of the kernel
|
||||
@@ -212,14 +212,22 @@
|
||||
};
|
||||
}
|
||||
|
||||
# Patch for crash by w1nk.
|
||||
# Extra patches by wink.
|
||||
{
|
||||
# Improves some cases in which races could occur.
|
||||
name = "w1nk-irq-lock-patch";
|
||||
patch = pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/w1nk/ath11k-debug/master/one-irq-manage.patch";
|
||||
sha256 = "011db3h10smqy0ni0qr9mkyhykf1f3yq6yym6ysbb7jr7l51q0n9";
|
||||
};
|
||||
}
|
||||
{
|
||||
# System crashes appear to have been caused by MHI state transitions to M2 state.
|
||||
# Currently under investigation.
|
||||
# http://lists.infradead.org/pipermail/ath11k/2020-December/000876.html
|
||||
name = "w1nk-disable-mhi-m2-transition";
|
||||
patch = ./disable-mhi-m2.patch;
|
||||
}
|
||||
];
|
||||
} // (args.argsOverride or { }));
|
||||
linux_patched = pkgs.callPackage linux_patched_pkg { };
|
||||
|
||||
Reference in New Issue
Block a user