Package: release.debian.org Severity: normal Tags: trixie X-Debbugs-Cc: [email protected], [email protected] Control: affects -1 + src:asahi-scripts User: [email protected] Usertags: pu
[ Reason ] This update fixes bug #1128108. The bug was apparently always present (see the bug's 'forwarded' link), but was never reported in Debian. Now we received multiple reports. The bug was already fixed upstream. [ Impact ] The kernel panics at startup reproducibly (but intermittently) on some Apple Silicon laptops due to a race between enabling auto suspend of the SD card reader and loading the sdhci_pci driver. [ Tests ] The fix has been in testing for one month, where one of the reporters tested it successfully, and it was tested by another reporters in trixie, again with success. [ Risks ] Virtually none. The fix just disables auto suspend of the SD card reader. [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in (old)stable [x] the issue is verified as fixed in unstable [ Changes ] The fix is to disable auto suspend for the specific model of SD card reader present on Apple Silicon machines, only on these machines. Apparently, auto suspend is not supported anyway. In practice, this update adds an udev hwdb override file [1] to the package. [ Other info ] asahi-scripts is a required package on all Apple Silicon machines (installed by the asahi-platform-core metapackage). [1] /usr/lib/udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb
diff -Nru asahi-scripts-20250130/debian/changelog asahi-scripts-20250130/debian/changelog --- asahi-scripts-20250130/debian/changelog 2025-11-01 19:48:50.000000000 +0100 +++ asahi-scripts-20250130/debian/changelog 2026-02-16 00:05:13.000000000 +0100 @@ -1,3 +1,11 @@ +asahi-scripts (20250130-3+deb13u2) trixie; urgency=medium + + * Team upload. + * Backport "Install hwdb file to override auto suspend on + GL9755 SD card reader" (Closes: #1128108) + + -- NoisyCoil <[email protected]> Mon, 16 Feb 2026 00:05:13 +0100 + asahi-scripts (20250130-3+deb13u1) trixie; urgency=medium * Team upload. diff -Nru asahi-scripts-20250130/debian/patches/0000-Backport-install-hwdb-sd-card-autosuspend-override.patch asahi-scripts-20250130/debian/patches/0000-Backport-install-hwdb-sd-card-autosuspend-override.patch --- asahi-scripts-20250130/debian/patches/0000-Backport-install-hwdb-sd-card-autosuspend-override.patch 1970-01-01 01:00:00.000000000 +0100 +++ asahi-scripts-20250130/debian/patches/0000-Backport-install-hwdb-sd-card-autosuspend-override.patch 2026-02-12 21:47:53.000000000 +0100 @@ -0,0 +1,88 @@ +From: Janne Grunau <[email protected]> +Date: Sun, 30 Mar 2025 10:01:40 +0200 +Subject: Install hwdb file to override auto suspend on GL9755 SD card reader + +systemd v255 shipped a hwdb update enabling auto suspend (runtime PM) +for the SD card reader Apple uses in 14- and 16-inch Macbook Pros and +Mac Studios +(https://github.com/systemd/systemd/commit/2f72e94984fc2994ab2705e384f92e15cc026264). +This PCI ID is imported from ChromiumOS. The driver in upstream Linux +does not support runtime PM so this change is questionable to useless. +Unfortunately it creates a race between enabling auto suspend and probing +the sdhci_pci driver. If the default idle timeout (2000 ms) triggers +before the driver is bound the default PCI device runtime suspend +callback will be called. On Apple silicon devices the GL9755 card +reader is inaccessible after it is resumed for the driver's probe +function. Accessing the device's BAR results in a SError with +ESR = 0x92000018. +It's not entirely clear whether which is an issue with the device or +with Apple silicon's PCIe implementation or Linux driver. + +Signed-off-by: Janne Grunau <[email protected]> +--- + Makefile | 18 +++++++++++++----- + udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb | 2 ++ + 2 files changed, 15 insertions(+), 5 deletions(-) + create mode 100644 udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb + +diff --git a/Makefile b/Makefile +index fa032a5..48a9095 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,6 +10,7 @@ DRACUT_CONF_DIR=$(PREFIX)/lib/dracut/dracut.conf.d + DRACUT_MODULES_DIR=$(PREFIX)/lib/dracut/modules.d + SYSTEMD_UNIT_DIR=$(PREFIX)/lib/systemd/system + UDEV_RULES_DIR=$(PREFIX)/lib/udev/rules.d ++UDEV_HWDB_DIR=$(PREFIX)/lib/udev/hwdb.d + BUILD_SCRIPTS=$(addprefix build/,$(SCRIPTS)) + BUILD_ARCH_SCRIPTS=$(addprefix build/,$(ARCH_SCRIPTS)) + +@@ -54,7 +55,11 @@ install-macsmc-battery: install + install -m0755 -t $(DESTDIR)$(SYSTEMD_UNIT_DIR) macsmc-battery/systemd/macsmc-battery-charge-control-end-threshold.service + install -m0644 -t $(DESTDIR)$(UDEV_RULES_DIR) macsmc-battery/udev/93-macsmc-battery-charge-control.rules + +-install-arch: install install-mkinitcpio install-macsmc-battery ++install-udev-hwdb: install ++ install -dD $(DESTDIR)$(UDEV_HWDB_DIR) ++ install -m0644 -t $(DESTDIR)$(UDEV_HWDB_DIR) udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb ++ ++install-arch: install install-mkinitcpio install-macsmc-battery install-udev-hwdb + install -m0755 -t $(DESTDIR)$(BIN_DIR)/ $(BUILD_ARCH_SCRIPTS) + install -dD $(DESTDIR)$(PREFIX)/lib/systemd/system + install -dD $(DESTDIR)$(PREFIX)/lib/systemd/system/{multi-user,sysinit}.target.wants +@@ -64,7 +69,7 @@ install-arch: install install-mkinitcpio install-macsmc-battery + install -dD $(DESTDIR)$(PREFIX)/share/libalpm/hooks + install -m0644 -t $(DESTDIR)$(PREFIX)/share/libalpm/hooks libalpm/hooks/95-m1n1-install.hook + +-install-fedora: install install-dracut install-macsmc-battery ++install-fedora: install install-dracut install-macsmc-battery install-udev-hwdb + + uninstall: + rm -f $(addprefix $(DESTDIR)$(BIN_DIR)/,$(SCRIPTS)) +@@ -82,12 +87,15 @@ uninstall-macsmc-battery: + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/macsmc-battery-charge-control-end-threshold.service + rm -f $(DESTDIR)$(UDEV_RULES_DIR)/93-macsmc-battery-charge-control.rules + +-uninstall-arch: uninstall-mkinitcpio uninstall-macsmc-battery ++uninstall-udev-hwdb: ++ rm -f $(DESTDIR)$(UDEV_HWDB_DIR)/65-autosuspend-override-asahi-sdhci.hwdb ++ ++uninstall-arch: uninstall-mkinitcpio uninstall-macsmc-battery uninstall-udev-hwdb + rm -f $(addprefix $(DESTDIR)$(BIN_DIR)/,$(ARCH_SCRIPTS)) + rm -f $(addprefix $(DESTDIR)$(PREFIX)/lib/systemd/system/,$(UNITS)) + rm -f $(addprefix $(DESTDIR)$(PREFIX)/lib/systemd/system/multi-user.target.wants/,$(MULTI_USER_WANTS)) + rm -f $(DESTDIR)$(PREFIX)/share/libalpm/hooks/95-m1n1-install.hook + +-uninstall-fedora: uninstall-dracut uninstall-macsmc-battery ++uninstall-fedora: uninstall-dracut uninstall-macsmc-battery uninstall-udev-hwdb + +-.PHONY: clean install install-mkinitcpio install-dracut install-arch install-fedora uninstall uninstall-mkinitcpio uninstall-dracut uninstall-arch uninstall-fedora ++.PHONY: clean install install-mkinitcpio install-dracut install-udev-hwdb install-arch install-fedora uninstall uninstall-mkinitcpio uninstall-dracut uninstall-udev-hwdb uninstall-arch uninstall-fedora +diff --git a/udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb b/udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb +new file mode 100644 +index 0000000..46b7dc4 +--- /dev/null ++++ b/udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb +@@ -0,0 +1,2 @@ ++pci:v000017A0d00009755* ++ ID_AUTOSUSPEND=0 diff -Nru asahi-scripts-20250130/debian/patches/0001-debian-add-install-debian-target.patch asahi-scripts-20250130/debian/patches/0001-debian-add-install-debian-target.patch --- asahi-scripts-20250130/debian/patches/0001-debian-add-install-debian-target.patch 2025-11-01 19:48:27.000000000 +0100 +++ asahi-scripts-20250130/debian/patches/0001-debian-add-install-debian-target.patch 2026-02-12 22:13:10.000000000 +0100 @@ -9,7 +9,7 @@ 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 29ec9a3..4154265 100644 +index 48a9095..a00820d 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ @@ -18,11 +18,11 @@ SYS_PREFIX=$(PREFIX) CONFIG_DIR=/etc/default BIN_DIR=$(PREFIX)/bin -@@ -67,6 +67,8 @@ install-arch: install install-mkinitcpio install-macsmc-battery +@@ -71,6 +71,8 @@ install-arch: install install-mkinitcpio install-macsmc-battery install-udev-hwd - install-fedora: install install-dracut install-macsmc-battery + install-fedora: install install-dracut install-macsmc-battery install-udev-hwdb -+install-debian: install install-macsmc-battery ++install-debian: install install-macsmc-battery install-udev-hwdb + uninstall: rm -f $(addprefix $(DESTDIR)$(BIN_DIR)/,$(SCRIPTS)) diff -Nru asahi-scripts-20250130/debian/patches/0003-debian-Add-initramfs-tools-implementation-for-cpio-f.patch asahi-scripts-20250130/debian/patches/0003-debian-Add-initramfs-tools-implementation-for-cpio-f.patch --- asahi-scripts-20250130/debian/patches/0003-debian-Add-initramfs-tools-implementation-for-cpio-f.patch 2025-11-01 19:48:38.000000000 +0100 +++ asahi-scripts-20250130/debian/patches/0003-debian-Add-initramfs-tools-implementation-for-cpio-f.patch 2026-02-12 22:13:54.000000000 +0100 @@ -22,12 +22,12 @@ create mode 100644 initramfs/scripts/init-top/asahi diff --git a/Makefile b/Makefile -index aca6667..3d9b04e 100644 +index a00820d..24fbcb6 100644 --- a/Makefile +++ b/Makefile -@@ -54,6 +54,19 @@ install-macsmc-battery: install - install -m0755 -t $(DESTDIR)$(SYSTEMD_UNIT_DIR) macsmc-battery/systemd/macsmc-battery-charge-control-end-threshold.service - install -m0644 -t $(DESTDIR)$(UDEV_RULES_DIR) macsmc-battery/udev/93-macsmc-battery-charge-control.rules +@@ -59,6 +59,19 @@ install-udev-hwdb: install + install -dD $(DESTDIR)$(UDEV_HWDB_DIR) + install -m0644 -t $(DESTDIR)$(UDEV_HWDB_DIR) udev/hwdb.d/65-autosuspend-override-asahi-sdhci.hwdb +install-initramfs: install + install -d $(DESTDIR)/etc/kernel/postinst.d/ @@ -42,15 +42,15 @@ + install -m0755 -t $(DESTDIR)$(PREFIX)/share/initramfs-tools/scripts/init-bottom initramfs/scripts/init-bottom/asahi + install -m0644 -t $(DESTDIR)$(PREFIX)/share/asahi-scripts initramfs/modules + - install-arch: install install-mkinitcpio install-macsmc-battery + install-arch: install install-mkinitcpio install-macsmc-battery install-udev-hwdb install -m0755 -t $(DESTDIR)$(BIN_DIR)/ $(BUILD_ARCH_SCRIPTS) install -dD $(DESTDIR)$(PREFIX)/lib/systemd/system -@@ -66,7 +79,7 @@ install-arch: install install-mkinitcpio install-macsmc-battery +@@ -71,7 +84,7 @@ install-arch: install install-mkinitcpio install-macsmc-battery install-udev-hwd - install-fedora: install install-dracut install-macsmc-battery + install-fedora: install install-dracut install-macsmc-battery install-udev-hwdb --install-debian: install install-macsmc-battery -+install-debian: install install-macsmc-battery install-initramfs +-install-debian: install install-macsmc-battery install-udev-hwdb ++install-debian: install install-macsmc-battery install-udev-hwdb install-initramfs uninstall: rm -f $(addprefix $(DESTDIR)$(BIN_DIR)/,$(SCRIPTS)) diff -Nru asahi-scripts-20250130/debian/patches/series asahi-scripts-20250130/debian/patches/series --- asahi-scripts-20250130/debian/patches/series 2025-11-01 19:48:38.000000000 +0100 +++ asahi-scripts-20250130/debian/patches/series 2026-02-12 21:42:58.000000000 +0100 @@ -1,6 +1,7 @@ 0000-Backport-asahi-diagnose-Fix-macaudio-default-profile.patch 0000-Backport-asahi-diagnose-drop-tas2764-checks.patch 0000-Backport-update-m1n1-clobber-boot.bin.old-only-on-changes.patch +0000-Backport-install-hwdb-sd-card-autosuspend-override.patch 0001-debian-add-install-debian-target.patch 0002-debian-Adjust-update-m1n1-for-debian.patch 0003-debian-Add-initramfs-tools-implementation-for-cpio-f.patch

