diff options
-rw-r--r-- | 0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch | 70 | ||||
-rw-r--r-- | kernel.spec | 14 | ||||
-rw-r--r-- | sources | 2 |
3 files changed, 84 insertions, 2 deletions
diff --git a/0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch b/0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch new file mode 100644 index 000000000..ecfc34c6d --- /dev/null +++ b/0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch @@ -0,0 +1,70 @@ +From 92fe05e58babf15d7ddadfccd8bc383ea7e46e55 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Wed, 5 Jul 2017 22:02:59 +0200 +Subject: [PATCH] ACPI / LPSS: Only call pwm_add_table for the first PWM + controller + +At least on the UP board SBC both PWMs are enabled leading to us +trying to add the same pwm_lookup twice, which leads to the following: + +[ 0.902224] list_add double add: new=ffffffffb8efd400, + prev=ffffffffb8efd400, next=ffffffffb8eeede0. +[ 0.912466] ------------[ cut here ]------------ +[ 0.917624] kernel BUG at lib/list_debug.c:31! +[ 0.922588] invalid opcode: 0000 [#1] SMP +... +[ 1.027450] Call Trace: +[ 1.030185] pwm_add_table+0x4c/0x90 +[ 1.034181] bsw_pwm_setup+0x1a/0x20 +[ 1.038175] acpi_lpss_create_device+0xfe/0x420 +... + +This commit fixes this by only calling pwm_add_table for the first +PWM controller (which is the one used for the backlight). + +Cc: stable@vger.kernel.org +BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1458599 +Fixes: bf7696a12071 ("acpi: lpss: call pwm_add_table() for BSW...") +Fixes: 04434ab5120a ("ACPI / LPSS: Call pwm_add_table() for Bay Trail...") +[labbott@redhat.com: Rebase to 4.11] +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + drivers/acpi/acpi_lpss.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c +index 5edfd9c..d973e56 100644 +--- a/drivers/acpi/acpi_lpss.c ++++ b/drivers/acpi/acpi_lpss.c +@@ -85,6 +85,7 @@ static const struct lpss_device_desc lpss_dma_desc = { + }; + + struct lpss_private_data { ++ struct acpi_device *adev; + void __iomem *mmio_base; + resource_size_t mmio_size; + unsigned int fixed_clk_rate; +@@ -164,6 +165,12 @@ static struct pwm_lookup bsw_pwm_lookup[] = { + + static void bsw_pwm_setup(struct lpss_private_data *pdata) + { ++ struct acpi_device *adev = pdata->adev; ++ ++ /* Only call pwm_add_table for the first PWM controller */ ++ if (!adev->pnp.unique_id || strcmp(adev->pnp.unique_id, "1")) ++ return; ++ + pwm_add_table(bsw_pwm_lookup, ARRAY_SIZE(bsw_pwm_lookup)); + } + +@@ -439,6 +446,7 @@ static int acpi_lpss_create_device(struct acpi_device *adev, + goto err_out; + } + ++ pdata->adev = adev; + pdata->dev_desc = dev_desc; + + if (dev_desc->setup) +-- +2.7.5 + diff --git a/kernel.spec b/kernel.spec index d7cf6a73b..d1c2444e8 100644 --- a/kernel.spec +++ b/kernel.spec @@ -59,7 +59,7 @@ Summary: The Linux kernel # Do we have a -stable update to apply? -%define stable_update 9 +%define stable_update 10 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -649,6 +649,9 @@ Patch681: 0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch # rhbz 1459326 Patch683: RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch +# rhbz 1458599 +Patch685: 0001-ACPI-LPSS-Only-call-pwm_add_table-for-the-first-PWM-.patch + # END OF PATCH DEFINITIONS %endif @@ -2216,6 +2219,15 @@ fi # # %changelog +* Wed Jul 12 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.10-100 +- Linux v4.11.10 + +* Mon Jul 10 2017 Laura Abbott <labbott@fedoraproject.org> +- Only call pwm_add_table for the first PWM controller (rhbz 1458599) + +* Thu Jul 06 2017 Justin M. Forbes <jforbes@fedoraproject.org> +- CVE-2017-10810 fix virtio-gpu mem leak (rhbz 1468023 1468024) + * Wed Jul 05 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.9-100 - Linux v4.11.9 @@ -1,3 +1,3 @@ SHA512 (perf-man-4.11.tar.gz) = 0b070d2f10a743329de2f532e2d7e19ef385a3e6ef3c700b591ae2697604dbe542b36e31121b3e37517ee8071ab800386fa8663c24a5b36520a18e096c6eefc8 SHA512 (linux-4.11.tar.xz) = 6610eed97ffb7207c71771198c36179b8244ace7222bebb109507720e26c5f17d918079a56d5febdd8605844d67fb2df0ebe910fa2f2f53690daf6e2a8ad09c3 -SHA512 (patch-4.11.9.xz) = 0d9474810b175679ae1a6e1c59ea60da8d2c5fafdd736a827cf1abe5bbd99361a31a4584d3bc160ed83322d7876e822dbd537adf12c22a2dcec45acfcd645bca +SHA512 (patch-4.11.10.xz) = b1f1913650bd98888b88dd78cdc8e81f14414a98717f103a0aa631fe7b9e630e63e59b26b3047f6530c43ecc82ee7c2db17c70f24898ae892a473af5be222dc2 |