Linux v4.20-rc4
This commit is contained in:
parent
dcaed4ecc8
commit
4871a58854
@ -1,104 +0,0 @@
|
|||||||
From 5afcaee5ee71ba730fde8f66da7e320fb7e674d2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Mon, 19 Nov 2018 17:38:59 +0100
|
|
||||||
Subject: [PATCH 4.20 regression fix] ACPI / platform: Add SMB0001 HID to
|
|
||||||
forbidden_id_list
|
|
||||||
|
|
||||||
Many HP AMD based laptops contain an SMB0001 device like this:
|
|
||||||
|
|
||||||
Device (SMBD)
|
|
||||||
{
|
|
||||||
Name (_HID, "SMB0001") // _HID: Hardware ID
|
|
||||||
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
|
||||||
{
|
|
||||||
IO (Decode16,
|
|
||||||
0x0B20, // Range Minimum
|
|
||||||
0x0B20, // Range Maximum
|
|
||||||
0x20, // Alignment
|
|
||||||
0x20, // Length
|
|
||||||
)
|
|
||||||
IRQ (Level, ActiveLow, Shared, )
|
|
||||||
{7}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
The legacy style IRQ resource here causes acpi_dev_get_irqresource() to
|
|
||||||
be called with legacy=true and this message to show in dmesg:
|
|
||||||
ACPI: IRQ 7 override to edge, high
|
|
||||||
|
|
||||||
This causes issues when later on the AMD0030 GPIO device gets enumerated:
|
|
||||||
|
|
||||||
Device (GPIO)
|
|
||||||
{
|
|
||||||
Name (_HID, "AMDI0030") // _HID: Hardware ID
|
|
||||||
Name (_CID, "AMDI0030") // _CID: Compatible ID
|
|
||||||
Name (_UID, Zero) // _UID: Unique ID
|
|
||||||
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
|
|
||||||
{
|
|
||||||
Name (RBUF, ResourceTemplate ()
|
|
||||||
{
|
|
||||||
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
|
|
||||||
{
|
|
||||||
0x00000007,
|
|
||||||
}
|
|
||||||
Memory32Fixed (ReadWrite,
|
|
||||||
0xFED81500, // Address Base
|
|
||||||
0x00000400, // Address Length
|
|
||||||
)
|
|
||||||
})
|
|
||||||
Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Now acpi_dev_get_irqresource() gets called with legacy=false, but because
|
|
||||||
of the earlier override of the trigger-type acpi_register_gsi() returns
|
|
||||||
-EBUSY (because we try to register the same interrupt with a different
|
|
||||||
trigger-type) and we end up setting IORESOURCE_DISABLED in the flags.
|
|
||||||
|
|
||||||
The setting of IORESOURCE_DISABLED causes platform_get_irq() to call
|
|
||||||
acpi_irq_get() which is not implemented on x86 and returns -EINVAL.
|
|
||||||
resulting in the following in dmesg:
|
|
||||||
|
|
||||||
amd_gpio AMDI0030:00: Failed to get gpio IRQ: -22
|
|
||||||
amd_gpio: probe of AMDI0030:00 failed with error -22
|
|
||||||
|
|
||||||
The SMB0001 is a "virtual" device in the sense that the only way the OS
|
|
||||||
interacts with it is through calling a couple of methods to do SMBus
|
|
||||||
transfers. As such it is weird that it has IO and IRQ resources at all,
|
|
||||||
because the driver for it is not expected to ever access the hardware
|
|
||||||
directly.
|
|
||||||
|
|
||||||
The Linux driver for the SMB0001 device directly binds to the acpi_device
|
|
||||||
through the acpi_bus, so we do not need to instantiate a platform_device
|
|
||||||
for this ACPI device. This commit adds the SMB0001 HID to the
|
|
||||||
forbidden_id_list, avoiding the instantiating of a platform_device for it.
|
|
||||||
Not instantiating a platform_device means we will no longer call
|
|
||||||
acpi_dev_get_irqresource() for the legacy IRQ resource fixing the probe of
|
|
||||||
the AMDI0030 device failing.
|
|
||||||
|
|
||||||
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1644013
|
|
||||||
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=198715
|
|
||||||
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=199523
|
|
||||||
Reported-by: Lukas Kahnert <openproggerfreak@gmail.com>
|
|
||||||
Tested-by: Marc <suaefar@googlemail.com>
|
|
||||||
Cc: stable@vger.kernel.org
|
|
||||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
---
|
|
||||||
drivers/acpi/acpi_platform.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
|
|
||||||
index eaa60c94205a..1f32caa87686 100644
|
|
||||||
--- a/drivers/acpi/acpi_platform.c
|
|
||||||
+++ b/drivers/acpi/acpi_platform.c
|
|
||||||
@@ -30,6 +30,7 @@ static const struct acpi_device_id forbidden_id_list[] = {
|
|
||||||
{"PNP0200", 0}, /* AT DMA Controller */
|
|
||||||
{"ACPI0009", 0}, /* IOxAPIC */
|
|
||||||
{"ACPI000A", 0}, /* IOAPIC */
|
|
||||||
+ {"SMB0001", 0}, /* ACPI SMBUS virtual device */
|
|
||||||
{"", 0},
|
|
||||||
};
|
|
||||||
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
2
gitrev
2
gitrev
@ -1 +1 @@
|
|||||||
06e68fed32826b44aa9ffcf282c14d3c58918a70
|
2e6e902d185027f8e3cb8b7305238f7e35d6a436
|
||||||
|
10
kernel.spec
10
kernel.spec
@ -67,9 +67,9 @@ Summary: The Linux kernel
|
|||||||
# The next upstream release sublevel (base_sublevel+1)
|
# The next upstream release sublevel (base_sublevel+1)
|
||||||
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
|
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
|
||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%global rcrev 3
|
%global rcrev 4
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 1
|
%define gitrev 0
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 4.%{upstream_sublevel}.0
|
%define rpmversion 4.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -608,9 +608,6 @@ Patch501: Fix-for-module-sig-verification.patch
|
|||||||
# rhbz 1431375
|
# rhbz 1431375
|
||||||
Patch502: input-rmi4-remove-the-need-for-artifical-IRQ.patch
|
Patch502: input-rmi4-remove-the-need-for-artifical-IRQ.patch
|
||||||
|
|
||||||
# rhbz 1644013, patch pending upstream
|
|
||||||
Patch503: 0001-ACPI-platform-Add-SMB0001-HID-to-forbidden_id_list.patch
|
|
||||||
|
|
||||||
# rhbz 1526312 (accelerometer part of the bug), patches pending upstream
|
# rhbz 1526312 (accelerometer part of the bug), patches pending upstream
|
||||||
Patch504: iio-accel-kxcjk1013-Add-more-hardware-ids.patch
|
Patch504: iio-accel-kxcjk1013-Add-more-hardware-ids.patch
|
||||||
|
|
||||||
@ -1886,7 +1883,8 @@ fi
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Nov 26 2018 Justin M. Forbes <jforbes@fedoraproject.org>
|
* Mon Nov 26 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc4.git0.1
|
||||||
|
- Linux v4.20-rc4
|
||||||
- Disable debugging options.
|
- Disable debugging options.
|
||||||
|
|
||||||
* Tue Nov 20 2018 Jeremy Cline <jcline@redhat.com> - 4.20.0-0.rc3.git1.1
|
* Tue Nov 20 2018 Jeremy Cline <jcline@redhat.com> - 4.20.0-0.rc3.git1.1
|
||||||
|
3
sources
3
sources
@ -1,3 +1,2 @@
|
|||||||
SHA512 (linux-4.19.tar.xz) = ab67cc746b375a8b135e8b23e35e1d6787930d19b3c26b2679787d62951cbdbc3bb66f8ededeb9b890e5008b2459397f9018f1a6772fdef67780b06a4cb9f6f4
|
SHA512 (linux-4.19.tar.xz) = ab67cc746b375a8b135e8b23e35e1d6787930d19b3c26b2679787d62951cbdbc3bb66f8ededeb9b890e5008b2459397f9018f1a6772fdef67780b06a4cb9f6f4
|
||||||
SHA512 (patch-4.20-rc3.xz) = a5cff0927c91b9791246e7e5a1e74fdc68b37a4fb770fd5e315c7abc3bc8e89edbafe6008396cdd19f802c6fc811719e5a0f0d33727a50f97e2e890d351ec14a
|
SHA512 (patch-4.20-rc4.xz) = 6cd5063110b286fa61f0d96ca675d5235debe7ac9e21ce2d709bdb299af897448048650e7d5497b9b2de474c42b120f89ed6cc5b5d38f71762263ad5a8ee9999
|
||||||
SHA512 (patch-4.20-rc3-git1.xz) = ec01ba3047121d05fc398c72300e8917eb0e6ce62b41fef28f32b2a3447173edc1694a043bd9ccd9a24a284aae57f1d9ca3c69881af77059fd4da93e505ecd83
|
|
||||||
|
Loading…
Reference in New Issue
Block a user