[arch-commits] Commit in linux-lts/trunk (2 files)
Jan Steffens
heftig at archlinux.org
Sat Oct 17 14:41:36 UTC 2020
Date: Saturday, October 17, 2020 @ 14:41:35
Author: heftig
Revision: 398503
5.4.72-1
Added:
linux-lts/trunk/0003-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch
Modified:
linux-lts/trunk/PKGBUILD
-----------------------------------------------------------------+
0003-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch | 70 ++++++++++
PKGBUILD | 6
2 files changed, 74 insertions(+), 2 deletions(-)
Added: 0003-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch
===================================================================
--- 0003-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch (rev 0)
+++ 0003-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch 2020-10-17 14:41:35 UTC (rev 398503)
@@ -0,0 +1,70 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Wed, 14 Oct 2020 16:41:58 +0200
+Subject: [PATCH] i2c: core: Restore acpi_walk_dep_device_list() getting called
+ after registering the ACPI i2c devs
+
+Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler()
+before i2c_acpi_register_devices()")'s intention was to only move the
+acpi_install_address_space_handler() call to the point before where
+the ACPI declared i2c-children of the adapter where instantiated by
+i2c_acpi_register_devices().
+
+But i2c_acpi_install_space_handler() had a call to
+acpi_walk_dep_device_list() hidden (that is I missed it) at the end
+of it, so as an unwanted side-effect now acpi_walk_dep_device_list()
+was also being called before i2c_acpi_register_devices().
+
+Move the acpi_walk_dep_device_list() call to the end of
+i2c_acpi_register_devices(), so that it is once again called *after*
+the i2c_client-s hanging of the adapter have been created.
+
+This fixes the Microsoft Surface Go 2 hanging at boot.
+
+Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()")
+Suggested-by: Maximilian Luz <luzmaximilian at gmail.com>
+Reported-and-tested-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ drivers/i2c/i2c-core-acpi.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
+index ce70b5288472..c70983780ae7 100644
+--- a/drivers/i2c/i2c-core-acpi.c
++++ b/drivers/i2c/i2c-core-acpi.c
+@@ -264,16 +264,26 @@ static acpi_status i2c_acpi_add_device(acpi_handle handle, u32 level,
+ void i2c_acpi_register_devices(struct i2c_adapter *adap)
+ {
+ acpi_status status;
++ acpi_handle handle;
+
+ if (!has_acpi_companion(&adap->dev))
+ return;
+
+ status = acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
+ I2C_ACPI_MAX_SCAN_DEPTH,
+ i2c_acpi_add_device, NULL,
+ adap, NULL);
+ if (ACPI_FAILURE(status))
+ dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
++
++ if (!adap->dev.parent)
++ return;
++
++ handle = ACPI_HANDLE(adap->dev.parent);
++ if (!handle)
++ return;
++
++ acpi_walk_dep_device_list(handle);
+ }
+
+ const struct acpi_device_id *
+@@ -737,7 +747,6 @@ int i2c_acpi_install_space_handler(struct i2c_adapter *adapter)
+ return -ENOMEM;
+ }
+
+- acpi_walk_dep_device_list(handle);
+ return 0;
+ }
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-10-17 13:36:18 UTC (rev 398502)
+++ PKGBUILD 2020-10-17 14:41:35 UTC (rev 398503)
@@ -1,7 +1,7 @@
# Maintainer: Andreas Radke <andyrtr at archlinux.org>
pkgbase=linux-lts
-pkgver=5.4.71
+pkgver=5.4.72
pkgrel=1
pkgdesc='LTS Linux'
url="https://www.kernel.org/"
@@ -18,6 +18,7 @@
config # the main kernel config file
0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
0002-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
+ 0003-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch
sphinx-workaround.patch
)
validpgpkeys=(
@@ -25,11 +26,12 @@
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-sha256sums=('737049ef3cf38d46ee3b377354336cdbc1c4dd95b4e54975a70716f96c8d6cc7'
+sha256sums=('0e24645bd56fe5b55a7a662895f5562c103d71b54d097281f0c9c71ff22c1172'
'SKIP'
'6a2ee8f822810f594921aa85087e4cf0a17c68518d395586fd9c56b6c7e63dad'
'0279e6c1a7f233110393995eccca1371edf11680fa5d6b8916dcb9ce098fb7fb'
'4fd74bb2a7101d700fba91806141339d8c9e46a14f8fc1fe276cfb68f1eec0f5'
+ 'f1e849d9e0cd07d527f60fed5aebbb76d7dd0c77a504786f4d0d09c20445f8f1'
'b7c814c8183e4645947a6dcc3cbf80431de8a8fd4e895b780f9a5fd92f82cb8e')
export KBUILD_BUILD_HOST=archlinux
More information about the arch-commits
mailing list