From 199dd70f89c5e776cd29e03ca0b95607b9aceb36 Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Wed, 19 Jun 2019 14:52:56 +0000 Subject: Linux v5.1.12 --- ...i-Use-a-fuzzy-check-for-burst-mode-clock-.patch | 77 --------------- kernel.spec | 9 +- sources | 2 +- usb-dwc2-Fix-DMA-cache-alignment-issues.patch | 107 --------------------- 4 files changed, 5 insertions(+), 190 deletions(-) delete mode 100644 0001-drm-i915-dsi-Use-a-fuzzy-check-for-burst-mode-clock-.patch delete mode 100644 usb-dwc2-Fix-DMA-cache-alignment-issues.patch diff --git a/0001-drm-i915-dsi-Use-a-fuzzy-check-for-burst-mode-clock-.patch b/0001-drm-i915-dsi-Use-a-fuzzy-check-for-burst-mode-clock-.patch deleted file mode 100644 index 51a5a3a85..000000000 --- a/0001-drm-i915-dsi-Use-a-fuzzy-check-for-burst-mode-clock-.patch +++ /dev/null @@ -1,77 +0,0 @@ -From f158b268ddbb3758dec49861bdf3ad8c9aae2e87 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Thu, 29 Nov 2018 12:40:05 +0100 -Subject: [PATCH] drm/i915/dsi: Use a fuzzy check for burst mode clock check - -Prior to this commit we fail to init the DSI panel on the GPD MicroPC: -https://www.indiegogo.com/projects/gpd-micropc-6-inch-handheld-industry-laptop#/ - -The problem is intel_dsi_vbt_init() failing with the following error: -*ERROR* Burst mode freq is less than computed - -The pclk in the VBT panel modeline is 70000, together with 24 bpp and -4 lines this results in a bitrate value of 70000 * 24 / 4 = 420000. -But the target_burst_mode_freq in the VBT is 418000. - -This commit works around this problem by adding an intel_fuzzy_clock_check -when target_burst_mode_freq < bitrate and setting target_burst_mode_freq to -bitrate when that checks succeeds, fixing the panel not working. - -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede ---- - drivers/gpu/drm/i915/intel_display.c | 2 +- - drivers/gpu/drm/i915/intel_drv.h | 1 + - drivers/gpu/drm/i915/intel_dsi_vbt.c | 11 +++++++++++ - 3 files changed, 13 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 5098228f1302..ceb78f44f087 100644 ---- a/drivers/gpu/drm/i915/intel_display.c -+++ b/drivers/gpu/drm/i915/intel_display.c -@@ -11942,7 +11942,7 @@ intel_modeset_pipe_config(struct drm_crtc *crtc, - return 0; - } - --static bool intel_fuzzy_clock_check(int clock1, int clock2) -+bool intel_fuzzy_clock_check(int clock1, int clock2) - { - int diff; - -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index a38b9cff5cd0..e85cd377a652 100644 ---- a/drivers/gpu/drm/i915/intel_drv.h -+++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -1742,6 +1742,7 @@ int vlv_force_pll_on(struct drm_i915_private *dev_priv, enum pipe pipe, - const struct dpll *dpll); - void vlv_force_pll_off(struct drm_i915_private *dev_priv, enum pipe pipe); - int lpt_get_iclkip(struct drm_i915_private *dev_priv); -+bool intel_fuzzy_clock_check(int clock1, int clock2); - - /* modesetting asserts */ - void assert_panel_unlocked(struct drm_i915_private *dev_priv, -diff --git a/drivers/gpu/drm/i915/intel_dsi_vbt.c b/drivers/gpu/drm/i915/intel_dsi_vbt.c -index 3074448446bc..4b8e48db1843 100644 ---- a/drivers/gpu/drm/i915/intel_dsi_vbt.c -+++ b/drivers/gpu/drm/i915/intel_dsi_vbt.c -@@ -853,6 +853,17 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) - if (mipi_config->target_burst_mode_freq) { - u32 bitrate = intel_dsi_bitrate(intel_dsi); - -+ /* -+ * Sometimes the VBT contains a slightly lower clock, -+ * then the bitrate we have calculated, in this case -+ * just replace it with the calculated bitrate. -+ */ -+ if (mipi_config->target_burst_mode_freq < bitrate && -+ intel_fuzzy_clock_check( -+ mipi_config->target_burst_mode_freq, -+ bitrate)) -+ mipi_config->target_burst_mode_freq = bitrate; -+ - if (mipi_config->target_burst_mode_freq < bitrate) { - DRM_ERROR("Burst mode freq is less than computed\n"); - return false; --- -2.21.0 - diff --git a/kernel.spec b/kernel.spec index e86d25e70..91fb564dd 100644 --- a/kernel.spec +++ b/kernel.spec @@ -54,7 +54,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 11 +%define stable_update 12 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -615,9 +615,6 @@ Patch536: scsi-mpt3sas_ctl-fix-double-fetch-bug-in_ctl_ioctl_main.patch # CVE-2019-12614 rhbz 1718176 1718185 Patch538: powerpc-fix-a-missing-check-in-dlpar_parse_cc_property.patch -# https://patchwork.kernel.org/patch/10817377/ -Patch539: usb-dwc2-Fix-DMA-cache-alignment-issues.patch - # Mainlined, https://bugzilla.redhat.com/show_bug.cgi?id=1716289 Patch540: 0001-netfilter-nat-fix-udp-checksum-corruption.patch @@ -628,7 +625,6 @@ Patch541: mwifiex-Fix-heap-overflow-in-mwifiex_uap_parse_tail_ies.patch Patch542: 0001-platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch # Fix the LCD panel on the GPD MicroPC not working, pending as fixes for 5.2 -Patch543: 0001-drm-i915-dsi-Use-a-fuzzy-check-for-burst-mode-clock-.patch Patch544: drm-panel-orientation-quirks.patch Patch545: efi-bgrt-acpi6.2-support.patch @@ -1870,6 +1866,9 @@ fi # # %changelog +* Wed Jun 19 2019 Jeremy Cline - 5.1.12-300 +- Linux v5.1.12 + * Mon Jun 17 2019 Jeremy Cline - 5.1.11-300 - Linux v5.1.11 - Fixes CVE-2019-11477 (rhbz 1719123 1721254) diff --git a/sources b/sources index eb1e704cc..a978dcbae 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (linux-5.1.tar.xz) = ae96f347badc95f1f3acf506c52b6cc23c0bd09ce8f4ce6705d4b4058b62593059bba1bc603c8d8b00a2f19131e7e56c31ac62b45883a346fa61d655e178f236 -SHA512 (patch-5.1.11.xz) = e5418cfc8d8ae3b83ede5db4096821c68afecf0699fc24ea0474459d0d1d2c64608ba58af788a481cfb7bae8b2fe1b4ad7cbfb4aa5db5cb98fbe9bc29cb68a95 +SHA512 (patch-5.1.12.xz) = ebd6d0f8ab5f1f84e9213793c89fd43ebaeaddec067b56aeec7a68af85c44f4e2d7784ca5a429cf3be5b0b433cd9de0839dc80c41238fad4e4df78b8db971c3f diff --git a/usb-dwc2-Fix-DMA-cache-alignment-issues.patch b/usb-dwc2-Fix-DMA-cache-alignment-issues.patch deleted file mode 100644 index ea46858c1..000000000 --- a/usb-dwc2-Fix-DMA-cache-alignment-issues.patch +++ /dev/null @@ -1,107 +0,0 @@ -From patchwork Mon Feb 18 06:37:30 2019 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Martin Schiller -X-Patchwork-Id: 10817377 -Return-Path: -Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org - [172.30.200.125]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A292C1399 - for ; - Mon, 18 Feb 2019 06:47:00 +0000 (UTC) -Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) - by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8F0912A092 - for ; - Mon, 18 Feb 2019 06:47:00 +0000 (UTC) -Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) - id 82B232A0EF; Mon, 18 Feb 2019 06:47:00 +0000 (UTC) -X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on - pdx-wl-mail.web.codeaurora.org -X-Spam-Level: -X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, - RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 -Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) - by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DD7AC2A092 - for ; - Mon, 18 Feb 2019 06:46:59 +0000 (UTC) -Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand - id S1728527AbfBRGqy (ORCPT - ); - Mon, 18 Feb 2019 01:46:54 -0500 -Received: from host-88-217-225-28.customer.m-online.net ([88.217.225.28]:29120 - "EHLO mail.dev.tdt.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org - with ESMTP id S1725836AbfBRGqx (ORCPT - ); Mon, 18 Feb 2019 01:46:53 -0500 -X-Greylist: delayed 552 seconds by postgrey-1.27 at vger.kernel.org; - Mon, 18 Feb 2019 01:46:53 EST -Received: from localhost.localdomain (unknown [10.2.3.20]) - by mail.dev.tdt.de (Postfix) with ESMTPSA id 69723204C2; - Mon, 18 Feb 2019 06:37:39 +0000 (UTC) -From: Martin Schiller -To: hminas@synopsys.com, gregkh@linuxfoundation.org, - felipe.balbi@linux.intel.com, a.seppala@gmail.com, - dianders@chromium.org -Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, - Martin Schiller -Subject: [PATCH] usb: dwc2: Fix DMA cache alignment issues -Date: Mon, 18 Feb 2019 07:37:30 +0100 -Message-Id: <20190218063730.26870-1-ms@dev.tdt.de> -X-Mailer: git-send-email 2.11.0 -Sender: linux-usb-owner@vger.kernel.org -Precedence: bulk -List-ID: -X-Mailing-List: linux-usb@vger.kernel.org -X-Virus-Scanned: ClamAV using ClamSMTP - -Insert a padding between data and the stored_xfer_buffer pointer to -ensure they are not on the same cache line. - -Otherwise, the stored_xfer_buffer gets corrupted for IN URBs on -non-cache-coherent systems. (In my case: Lantiq xRX200 MIPS) - -Fixes: 3bc04e28a030 ("usb: dwc2: host: Get aligned DMA in a more supported way") -Fixes: 56406e017a88 ("usb: dwc2: Fix DMA alignment to start at allocated boundary") -Signed-off-by: Martin Schiller -Tested-by: Douglas Anderson -Reviewed-by: Douglas Anderson -Acked-by: Minas Harutyunyan ---- - drivers/usb/dwc2/hcd.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c -index dd82fa516f3f..f3035dd4db25 100644 ---- a/drivers/usb/dwc2/hcd.c -+++ b/drivers/usb/dwc2/hcd.c -@@ -2664,8 +2664,10 @@ static void dwc2_free_dma_aligned_buffer(struct urb *urb) - return; - - /* Restore urb->transfer_buffer from the end of the allocated area */ -- memcpy(&stored_xfer_buffer, urb->transfer_buffer + -- urb->transfer_buffer_length, sizeof(urb->transfer_buffer)); -+ memcpy(&stored_xfer_buffer, -+ PTR_ALIGN(urb->transfer_buffer + urb->transfer_buffer_length, -+ dma_get_cache_alignment()), -+ sizeof(urb->transfer_buffer)); - - if (usb_urb_dir_in(urb)) { - if (usb_pipeisoc(urb->pipe)) -@@ -2697,6 +2699,7 @@ static int dwc2_alloc_dma_aligned_buffer(struct urb *urb, gfp_t mem_flags) - * DMA - */ - kmalloc_size = urb->transfer_buffer_length + -+ (dma_get_cache_alignment() - 1) + - sizeof(urb->transfer_buffer); - - kmalloc_ptr = kmalloc(kmalloc_size, mem_flags); -@@ -2707,7 +2710,8 @@ static int dwc2_alloc_dma_aligned_buffer(struct urb *urb, gfp_t mem_flags) - * Position value of original urb->transfer_buffer pointer to the end - * of allocation for later referencing - */ -- memcpy(kmalloc_ptr + urb->transfer_buffer_length, -+ memcpy(PTR_ALIGN(kmalloc_ptr + urb->transfer_buffer_length, -+ dma_get_cache_alignment()), - &urb->transfer_buffer, sizeof(urb->transfer_buffer)); - - if (usb_urb_dir_out(urb)) -- cgit