diff -Nru efivar-37/debian/changelog efivar-37/debian/changelog --- efivar-37/debian/changelog 2021-10-07 12:11:08.000000000 +0200 +++ efivar-37/debian/changelog 2023-08-03 10:21:40.000000000 +0200 @@ -1,3 +1,10 @@ +efivar (37-6ubuntu3) mantic; urgency=medium + + * Fix creation of boot options on non-ACPI systems (LP: #2029407) + d/p/0001-linux-handle-non-ACPI-systems-in-device_get.patch + + -- Heinrich Schuchardt Thu, 03 Aug 2023 10:21:40 +0200 + efivar (37-6ubuntu2) impish; urgency=medium * No-change rebuild to build packages with zstd compression. diff -Nru efivar-37/debian/control efivar-37/debian/control --- efivar-37/debian/control 2020-08-19 15:42:39.000000000 +0200 +++ efivar-37/debian/control 2023-08-03 10:21:40.000000000 +0200 @@ -1,6 +1,7 @@ Source: efivar Priority: optional -Maintainer: Debian UEFI Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian UEFI Maintainers Uploaders: Steve McIntyre <93sam@debian.org>, Mario Limonciello Build-Depends: debhelper-compat (= 12), libpopt-dev, pkg-config Standards-Version: 4.1.1 diff -Nru efivar-37/debian/patches/0001-linux-handle-non-ACPI-systems-in-device_get.patch efivar-37/debian/patches/0001-linux-handle-non-ACPI-systems-in-device_get.patch --- efivar-37/debian/patches/0001-linux-handle-non-ACPI-systems-in-device_get.patch 1970-01-01 01:00:00.000000000 +0100 +++ efivar-37/debian/patches/0001-linux-handle-non-ACPI-systems-in-device_get.patch 2023-08-03 10:21:40.000000000 +0200 @@ -0,0 +1,40 @@ +From: Heinrich Schuchardt +Date: Wed, 2 Aug 2023 19:16:42 +0200 +Subject: [PATCH 1/1] linux: handle non-ACPI systems in device_get() + +/sys/devices/pci0000:00/firmware_node/hid does not exist on all systems. +Kernel parameter acpi=off has been reported as one possible reason in +https://github.com/rhboot/efivar/issues/120 +But this is not the only case. On systems using device trees you may also +not find this file. + +We have multiple parsers in dev_probes[]. It is sufficient that one of +these parsers succeeds to provide the device information. + +If for instance pci_root_parser and pci_parser fails, we may still get +information from nvme_parser. + +If a parser fails, only write a debug information and continue. + +Signed-off-by: Heinrich Schuchardt + +Origin: https://github.com/rhboot/efivar/pull/246/commits/b1209a10c55836fcd63dfcbe7e84ac6a7d4a2238 +Forwarded: yes +Last-Updated: 2023-08-02 +--- + src/linux.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/src/linux.c ++++ b/src/linux.c +@@ -506,8 +506,8 @@ + debug("trying %s", probe->name); + pos = probe->parse(dev, current, dev->link); + if (pos < 0) { +- efi_error("parsing %s failed", probe->name); +- goto err; ++ debug("parsing %s failed", probe->name); ++ continue; + } else if (pos > 0) { + debug("%s matched %s", probe->name, current); + dev->flags |= probe->flags; diff -Nru efivar-37/debian/patches/series efivar-37/debian/patches/series --- efivar-37/debian/patches/series 2021-03-29 12:59:06.000000000 +0200 +++ efivar-37/debian/patches/series 2023-08-03 10:21:40.000000000 +0200 @@ -12,3 +12,4 @@ 0005-Fix-variable-sz-uninitialized-error.patch 0006-Fix-parsing-for-nvme-subsystem-devices.patch guid-stringop-trunction-ignore.diff +0001-linux-handle-non-ACPI-systems-in-device_get.patch