]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.20-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Jan 2019 09:28:45 +0000 (10:28 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Jan 2019 09:28:45 +0000 (10:28 +0100)
added patches:
asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-clapper.patch
asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-gnawty.patch
i915-fix-missing-user_access_end-in-page-fault-exception-case.patch
staging-bcm2835-audio-double-free-in-init-error-path.patch
staging-wilc1000-fix-missing-read_write-setting-when-reading-data.patch

queue-4.20/asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-clapper.patch [new file with mode: 0644]
queue-4.20/asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-gnawty.patch [new file with mode: 0644]
queue-4.20/i915-fix-missing-user_access_end-in-page-fault-exception-case.patch [new file with mode: 0644]
queue-4.20/series
queue-4.20/staging-bcm2835-audio-double-free-in-init-error-path.patch [new file with mode: 0644]
queue-4.20/staging-wilc1000-fix-missing-read_write-setting-when-reading-data.patch [new file with mode: 0644]

diff --git a/queue-4.20/asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-clapper.patch b/queue-4.20/asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-clapper.patch
new file mode 100644 (file)
index 0000000..befea9c
--- /dev/null
@@ -0,0 +1,47 @@
+From 984bfb398a3af6fa9b7e80165e524933b0616686 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Sun, 2 Dec 2018 13:21:22 +0100
+Subject: ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Clapper
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+commit 984bfb398a3af6fa9b7e80165e524933b0616686 upstream.
+
+The Clapper model Chromebook uses pmc_plt_clk_0 instead of pmc_plt_clk_3
+for the mclk, just like the Swanky model.
+
+This commit adds a DMI based quirk for this.
+
+This fixing audio no longer working on these devices after
+commit 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")
+that commit fixes us unnecessary keeping unused clocks on, but in case of
+the Clapper that was breaking audio support since we were not using the
+right clock in the cht_bsw_max98090_ti machine driver.
+
+Cc: stable@vger.kernel.org
+Fixes: 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/intel/boards/cht_bsw_max98090_ti.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c
++++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
+@@ -390,6 +390,13 @@ static struct snd_soc_card snd_soc_card_
+ static const struct dmi_system_id cht_max98090_quirk_table[] = {
+       {
++              /* Clapper model Chromebook */
++              .matches = {
++                      DMI_MATCH(DMI_PRODUCT_NAME, "Clapper"),
++              },
++              .driver_data = (void *)QUIRK_PMC_PLT_CLK_0,
++      },
++      {
+               /* Swanky model Chromebook (Toshiba Chromebook 2) */
+               .matches = {
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Swanky"),
diff --git a/queue-4.20/asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-gnawty.patch b/queue-4.20/asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-gnawty.patch
new file mode 100644 (file)
index 0000000..e8b07c5
--- /dev/null
@@ -0,0 +1,52 @@
+From 94ea56cff506c769a509c5dd87904c7fe3806a81 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Mon, 3 Dec 2018 21:45:14 +0100
+Subject: ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Gnawty
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+commit 94ea56cff506c769a509c5dd87904c7fe3806a81 upstream.
+
+The Gnawty model Chromebook uses pmc_plt_clk_0 instead of pmc_plt_clk_3
+for the mclk, just like the Clapper and Swanky models.
+
+This commit adds a DMI based quirk for this.
+
+This fixing audio no longer working on these devices after
+commit 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")
+that commit fixes us unnecessary keeping unused clocks on, but in case of
+the Gnawty that was breaking audio support since we were not using the
+right clock in the cht_bsw_max98090_ti machine driver.
+
+BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=201787
+Cc: stable@vger.kernel.org
+Fixes: 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")
+Reported-and-tested-by: Jaime PĂ©rez <19.jaime.91@gmail.com>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/intel/boards/cht_bsw_max98090_ti.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c
++++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
+@@ -397,6 +397,13 @@ static const struct dmi_system_id cht_ma
+               .driver_data = (void *)QUIRK_PMC_PLT_CLK_0,
+       },
+       {
++              /* Gnawty model Chromebook (Acer Chromebook CB3-111) */
++              .matches = {
++                      DMI_MATCH(DMI_PRODUCT_NAME, "Gnawty"),
++              },
++              .driver_data = (void *)QUIRK_PMC_PLT_CLK_0,
++      },
++      {
+               /* Swanky model Chromebook (Toshiba Chromebook 2) */
+               .matches = {
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Swanky"),
diff --git a/queue-4.20/i915-fix-missing-user_access_end-in-page-fault-exception-case.patch b/queue-4.20/i915-fix-missing-user_access_end-in-page-fault-exception-case.patch
new file mode 100644 (file)
index 0000000..5d04472
--- /dev/null
@@ -0,0 +1,45 @@
+From 0b2c8f8b6b0c7530e2866c95862546d0da2057b0 Mon Sep 17 00:00:00 2001
+From: Linus Torvalds <torvalds@linux-foundation.org>
+Date: Fri, 4 Jan 2019 10:23:10 -0800
+Subject: i915: fix missing user_access_end() in page fault exception case
+
+From: Linus Torvalds <torvalds@linux-foundation.org>
+
+commit 0b2c8f8b6b0c7530e2866c95862546d0da2057b0 upstream.
+
+When commit fddcd00a49e9 ("drm/i915: Force the slow path after a
+user-write error") unified the error handling for various user access
+problems, it didn't do the user_access_end() that is needed for the
+unsafe_put_user() case.
+
+It's not a huge deal: a missed user_access_end() will only mean that
+SMAP protection isn't active afterwards, and for the error case we'll be
+returning to user mode soon enough anyway.  But it's wrong, and adding
+the proper user_access_end() is trivial enough (and doing it for the
+other error cases where it isn't needed doesn't hurt).
+
+I noticed it while doing the same prep-work for changing
+user_access_begin() that precipitated the access_ok() changes in commit
+96d4f267e40f ("Remove 'type' argument from access_ok() function").
+
+Fixes: fddcd00a49e9 ("drm/i915: Force the slow path after a user-write error")
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
+Cc: stable@kernel.org # v4.20
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
++++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+@@ -1605,6 +1605,7 @@ static int eb_copy_relocations(const str
+                                            (char __user *)urelocs + copied,
+                                            len)) {
+ end_user:
++                              user_access_end();
+                               kvfree(relocs);
+                               err = -EFAULT;
+                               goto err;
index e3c179d847e7c59c072f47977c0495802b4c82a0..4cdec5b69c85324200d5f4962eb82296f0ddadac 100644 (file)
@@ -43,3 +43,8 @@ usb-dwc2-disable-power_down-on-amlogic-devices.patch
 revert-usb-dwc3-pci-use-devm-functions-to-get-the-phy-gpios.patch
 usb-roles-add-a-description-for-the-class-to-kconfig.patch
 media-dvb-usb-v2-fix-incorrect-use-of-transfer_flags-urb_free_buffer.patch
+i915-fix-missing-user_access_end-in-page-fault-exception-case.patch
+staging-wilc1000-fix-missing-read_write-setting-when-reading-data.patch
+staging-bcm2835-audio-double-free-in-init-error-path.patch
+asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-clapper.patch
+asoc-intel-cht_bsw_max98090_ti-add-pmc_plt_clk_0-quirk-for-chromebook-gnawty.patch
diff --git a/queue-4.20/staging-bcm2835-audio-double-free-in-init-error-path.patch b/queue-4.20/staging-bcm2835-audio-double-free-in-init-error-path.patch
new file mode 100644 (file)
index 0000000..52c0aa9
--- /dev/null
@@ -0,0 +1,32 @@
+From 649496b603000135683ee76d7ea499456617bf17 Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <dan.carpenter@oracle.com>
+Date: Mon, 17 Dec 2018 10:08:54 +0300
+Subject: staging: bcm2835-audio: double free in init error path
+
+From: Dan Carpenter <dan.carpenter@oracle.com>
+
+commit 649496b603000135683ee76d7ea499456617bf17 upstream.
+
+We free instance here and in the caller.  It should be only the caller
+which handles it.
+
+Fixes: d7ca3a71545b ("staging: bcm2835-audio: Operate non-atomic PCM ops")
+Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
+Reviewed-by: Takashi Iwai <tiwai@suse.de>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
++++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
+@@ -143,7 +143,6 @@ vc_vchi_audio_init(VCHI_INSTANCE_T vchi_
+               dev_err(instance->dev,
+                       "failed to open VCHI service connection (status=%d)\n",
+                       status);
+-              kfree(instance);
+               return -EPERM;
+       }
diff --git a/queue-4.20/staging-wilc1000-fix-missing-read_write-setting-when-reading-data.patch b/queue-4.20/staging-wilc1000-fix-missing-read_write-setting-when-reading-data.patch
new file mode 100644 (file)
index 0000000..2e2e739
--- /dev/null
@@ -0,0 +1,35 @@
+From c58eef061dda7d843dcc0ad6fea7e597d4c377c0 Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.king@canonical.com>
+Date: Wed, 19 Dec 2018 16:30:07 +0000
+Subject: staging: wilc1000: fix missing read_write setting when reading data
+
+From: Colin Ian King <colin.king@canonical.com>
+
+commit c58eef061dda7d843dcc0ad6fea7e597d4c377c0 upstream.
+
+Currently the cmd.read_write setting is not initialized so it contains
+garbage from the stack.  Fix this by setting it to 0 to indicate a
+read is required.
+
+Detected by CoverityScan, CID#1357925 ("Uninitialized scalar variable")
+
+Fixes: c5c77ba18ea6 ("staging: wilc1000: Add SDIO/SPI 802.11 driver")
+Signed-off-by: Colin Ian King <colin.king@canonical.com>
+Cc: stable <stable@vger.kernel.org>
+Acked-by: Ajay Singh <ajay.kathat@microchip.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/wilc1000/wilc_sdio.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/staging/wilc1000/wilc_sdio.c
++++ b/drivers/staging/wilc1000/wilc_sdio.c
+@@ -841,6 +841,7 @@ static int sdio_read_int(struct wilc *wi
+       if (!sdio_priv->irq_gpio) {
+               int i;
++              cmd.read_write = 0;
+               cmd.function = 1;
+               cmd.address = 0x04;
+               cmd.data = 0;