Linux v4.14.5
This commit is contained in:
parent
21b58efd7f
commit
d9d8da9a29
|
@ -1,46 +0,0 @@
|
|||
From 37af97ef14c201b1db8dd341aabd262da23e48aa Mon Sep 17 00:00:00 2001
|
||||
From: Fedora Kernel Team <kernel-team@fedoraproject.org>
|
||||
Date: Mon, 30 Oct 2017 11:38:27 -0500
|
||||
Subject: [PATCH] [PATCH] staging: rtl8822be: fix wrong dma unmap len
|
||||
|
||||
Patch fixes splat:
|
||||
|
||||
r8822be 0000:04:00.0: DMA-API: device driver frees DMA memory with different size
|
||||
[device address=0x0000000078477000] [map size=4096 bytes] [unmap size=424 bytes]
|
||||
<snip>
|
||||
Call Trace:
|
||||
debug_dma_unmap_page+0xa5/0xb0
|
||||
? unmap_single+0x2f/0x40
|
||||
_rtl8822be_send_bcn_or_cmd_packet+0x2c5/0x300 [r8822be]
|
||||
? _rtl8822be_send_bcn_or_cmd_packet+0x2c5/0x300 [r8822be]
|
||||
rtl8822b_halmac_cb_write_data_rsvd_page+0x51/0xc0 [r8822be]
|
||||
_halmac_write_data_rsvd_page+0x22/0x30 [r8822be]
|
||||
halmac_download_rsvd_page_88xx+0xee/0x1f0 [r8822be]
|
||||
halmac_dlfw_to_mem_88xx+0x80/0x120 [r8822be]
|
||||
halmac_download_firmware_88xx.part.47+0x477/0x600 [r8822be]
|
||||
halmac_download_firmware_88xx+0x32/0x40 [r8822be]
|
||||
rtl_halmac_dlfw+0x70/0x120 [r8822be]
|
||||
rtl_halmac_init_hal+0x5f/0x1b0 [r8822be]
|
||||
rtl8822be_hw_init+0x8a2/0x1040 [r8822be]
|
||||
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>
|
||||
---
|
||||
drivers/staging/rtlwifi/rtl8822be/fw.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/staging/rtlwifi/rtl8822be/fw.c b/drivers/staging/rtlwifi/rtl8822be/fw.c
|
||||
index 8e24da1..a2cc548 100644
|
||||
--- a/drivers/staging/rtlwifi/rtl8822be/fw.c
|
||||
+++ b/drivers/staging/rtlwifi/rtl8822be/fw.c
|
||||
@@ -419,7 +419,7 @@ static bool _rtl8822be_send_bcn_or_cmd_packet(struct ieee80211_hw *hw,
|
||||
dma_addr = rtlpriv->cfg->ops->get_desc(
|
||||
hw, (u8 *)pbd_desc, true, HW_DESC_TXBUFF_ADDR);
|
||||
|
||||
- pci_unmap_single(rtlpci->pdev, dma_addr, skb->len,
|
||||
+ pci_unmap_single(rtlpci->pdev, dma_addr, pskb->len,
|
||||
PCI_DMA_TODEVICE);
|
||||
kfree_skb(pskb);
|
||||
|
||||
--
|
||||
2.13.6
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
From patchwork Sat Nov 11 15:31:18 2017
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: USB: ulpi: fix bus-node lookup
|
||||
From: Johan Hovold <johan@kernel.org>
|
||||
X-Patchwork-Id: 10054387
|
||||
Message-Id: <20171111153118.16038-1-johan@kernel.org>
|
||||
To: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
|
||||
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
|
||||
linux-arm-msm@vger.kernel.org, Rob Clark <robdclark@gmail.com>,
|
||||
Peter Robinson <pbrobinson@gmail.com>, Johan Hovold <johan@kernel.org>,
|
||||
stable <stable@vger.kernel.org>
|
||||
Date: Sat, 11 Nov 2017 16:31:18 +0100
|
||||
|
||||
Fix bus-node lookup during registration, which ended up searching the whole
|
||||
device tree depth-first starting at the parent (or grand parent) rather
|
||||
than just matching on its children.
|
||||
|
||||
To make things worse, the parent (or grand-parent) node could end being
|
||||
prematurely freed as well.
|
||||
|
||||
Fixes: ef6a7bcfb01c ("usb: ulpi: Support device discovery via DT")
|
||||
Reported-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
Reported-by: Stephen Boyd <sboyd@codeaurora.org>
|
||||
Cc: stable <stable@vger.kernel.org> # 4.10
|
||||
Signed-off-by: Johan Hovold <johan@kernel.org>
|
||||
---
|
||||
drivers/usb/common/ulpi.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c
|
||||
index 8b351444cc40..9a2ab6751a23 100644
|
||||
--- a/drivers/usb/common/ulpi.c
|
||||
+++ b/drivers/usb/common/ulpi.c
|
||||
@@ -180,9 +180,9 @@ static int ulpi_of_register(struct ulpi *ulpi)
|
||||
/* Find a ulpi bus underneath the parent or the grandparent */
|
||||
parent = ulpi->dev.parent;
|
||||
if (parent->of_node)
|
||||
- np = of_find_node_by_name(parent->of_node, "ulpi");
|
||||
+ np = of_get_child_by_name(parent->of_node, "ulpi");
|
||||
else if (parent->parent && parent->parent->of_node)
|
||||
- np = of_find_node_by_name(parent->parent->of_node, "ulpi");
|
||||
+ np = of_get_child_by_name(parent->parent->of_node, "ulpi");
|
||||
if (!np)
|
||||
return 0;
|
||||
|
|
@ -1,113 +1,3 @@
|
|||
From 58be18a7bbf9dca67f4260ac172a44baa59d0ee9 Mon Sep 17 00:00:00 2001
|
||||
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
||||
Date: Mon, 21 Aug 2017 10:47:48 +0100
|
||||
Subject: arm64: acpi/gtdt: validate CNTFRQ after having enabled the frame
|
||||
|
||||
The ACPI GTDT code validates the CNTFRQ field of each MMIO timer
|
||||
frame against the CNTFRQ system register of the current CPU, to
|
||||
ensure that they are equal, which is mandated by the architecture.
|
||||
|
||||
However, reading the CNTFRQ field of a frame is not possible until
|
||||
the RFRQ bit in the frame's CNTACRn register is set, and doing so
|
||||
before that willl produce the following error:
|
||||
|
||||
arch_timer: [Firmware Bug]: CNTFRQ mismatch: frame @ 0x00000000e0be0000: (0x00000000), CPU: (0x0ee6b280)
|
||||
arch_timer: Disabling MMIO timers due to CNTFRQ mismatch
|
||||
arch_timer: Failed to initialize memory-mapped timer.
|
||||
|
||||
The reason is that the CNTFRQ field is RES0 if access is not enabled.
|
||||
|
||||
So move the validation of CNTFRQ into the loop that iterates over the
|
||||
timers to find the best frame, but defer it until after we have selected
|
||||
the best frame, which should also have enabled the RFRQ bit.
|
||||
|
||||
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
||||
---
|
||||
drivers/clocksource/arm_arch_timer.c | 38 ++++++++++++++++++++----------------
|
||||
1 file changed, 21 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
|
||||
index fd4b7f6..14e2419 100644
|
||||
--- a/drivers/clocksource/arm_arch_timer.c
|
||||
+++ b/drivers/clocksource/arm_arch_timer.c
|
||||
@@ -1268,10 +1268,6 @@ arch_timer_mem_find_best_frame(struct arch_timer_mem *timer_mem)
|
||||
|
||||
iounmap(cntctlbase);
|
||||
|
||||
- if (!best_frame)
|
||||
- pr_err("Unable to find a suitable frame in timer @ %pa\n",
|
||||
- &timer_mem->cntctlbase);
|
||||
-
|
||||
return best_frame;
|
||||
}
|
||||
|
||||
@@ -1372,6 +1368,8 @@ static int __init arch_timer_mem_of_init(struct device_node *np)
|
||||
|
||||
frame = arch_timer_mem_find_best_frame(timer_mem);
|
||||
if (!frame) {
|
||||
+ pr_err("Unable to find a suitable frame in timer @ %pa\n",
|
||||
+ &timer_mem->cntctlbase);
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
@@ -1420,7 +1418,7 @@ arch_timer_mem_verify_cntfrq(struct arch_timer_mem *timer_mem)
|
||||
static int __init arch_timer_mem_acpi_init(int platform_timer_count)
|
||||
{
|
||||
struct arch_timer_mem *timers, *timer;
|
||||
- struct arch_timer_mem_frame *frame;
|
||||
+ struct arch_timer_mem_frame *frame, *best_frame = NULL;
|
||||
int timer_count, i, ret = 0;
|
||||
|
||||
timers = kcalloc(platform_timer_count, sizeof(*timers),
|
||||
@@ -1432,14 +1430,6 @@ static int __init arch_timer_mem_acpi_init(int platform_timer_count)
|
||||
if (ret || !timer_count)
|
||||
goto out;
|
||||
|
||||
- for (i = 0; i < timer_count; i++) {
|
||||
- ret = arch_timer_mem_verify_cntfrq(&timers[i]);
|
||||
- if (ret) {
|
||||
- pr_err("Disabling MMIO timers due to CNTFRQ mismatch\n");
|
||||
- goto out;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
/*
|
||||
* While unlikely, it's theoretically possible that none of the frames
|
||||
* in a timer expose the combination of feature we want.
|
||||
@@ -1448,12 +1438,26 @@ static int __init arch_timer_mem_acpi_init(int platform_timer_count)
|
||||
timer = &timers[i];
|
||||
|
||||
frame = arch_timer_mem_find_best_frame(timer);
|
||||
- if (frame)
|
||||
- break;
|
||||
+ if (!best_frame)
|
||||
+ best_frame = frame;
|
||||
+
|
||||
+ ret = arch_timer_mem_verify_cntfrq(timer);
|
||||
+ if (ret) {
|
||||
+ pr_err("Disabling MMIO timers due to CNTFRQ mismatch\n");
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ if (!best_frame) /* implies !frame */
|
||||
+ /*
|
||||
+ * Only complain about missing suitable frames if we
|
||||
+ * haven't already found one in a previous iteration.
|
||||
+ */
|
||||
+ pr_err("Unable to find a suitable frame in timer @ %pa\n",
|
||||
+ &timer->cntctlbase);
|
||||
}
|
||||
|
||||
- if (frame)
|
||||
- ret = arch_timer_mem_frame_register(frame);
|
||||
+ if (best_frame)
|
||||
+ ret = arch_timer_mem_frame_register(best_frame);
|
||||
out:
|
||||
kfree(timers);
|
||||
return ret;
|
||||
--
|
||||
cgit v1.1
|
||||
|
||||
From 33d983b5bb2929ae242606925e708092b1dfdd8f Mon Sep 17 00:00:00 2001
|
||||
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
||||
Date: Sat, 2 Sep 2017 11:01:22 +0100
|
||||
|
|
11
kernel.spec
11
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 4
|
||||
%define stable_update 5
|
||||
# Set rpm version accordingly
|
||||
%if 0%{?stable_update}
|
||||
%define stablerev %{stable_update}
|
||||
|
@ -603,9 +603,6 @@ Patch307: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
|
|||
# https://patchwork.kernel.org/patch/9820417/
|
||||
Patch310: qcom-msm89xx-fixes.patch
|
||||
|
||||
# https://patchwork.kernel.org/patch/10054387/
|
||||
Patch311: USB-ulpi-fix-bus-node-lookup.patch
|
||||
|
||||
# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/
|
||||
Patch321: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch
|
||||
|
||||
|
@ -647,8 +644,6 @@ Patch619: input-rmi4-remove-the-need-for-artifical-IRQ.patch
|
|||
# Headed upstream
|
||||
Patch621: drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch
|
||||
|
||||
Patch623: 0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch
|
||||
|
||||
# rhbz 1509461
|
||||
Patch625: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
|
||||
|
||||
|
@ -2209,6 +2204,10 @@ fi
|
|||
#
|
||||
#
|
||||
%changelog
|
||||
* Mon Dec 11 2017 Jeremy Cline <jeremy@jcline.org> - 4.14.5-300
|
||||
- Linux v4.14.5
|
||||
- Re-enable driver for the Behringer BCD 2000
|
||||
|
||||
* Wed Dec 6 2017 Peter Robinson <pbrobinson@fedoraproject.org> 4.14.4-300
|
||||
- Linux v4.14.4
|
||||
- Fixes for dwmac-sun8i for A64/Pine64
|
||||
|
|
2
sources
2
sources
|
@ -1,3 +1,3 @@
|
|||
SHA512 (linux-4.14.tar.xz) = 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
|
||||
SHA512 (perf-man-4.14.tar.gz) = 76a9d8adc284cdffd4b3fbb060e7f9a14109267707ce1d03f4c3239cd70d8d164f697da3a0f90a363fbcac42a61d3c378afbcc2a86f112c501b9cb5ce74ef9f8
|
||||
SHA512 (patch-4.14.4.xz) = 9232c7816a92f1499cd2a58417250af18cb519fe1abf7b250f82470b1a931f99cb473951fcba9e9a8ffd7246b63db2054ddaa127b7aaa9632d440be5f6c00111
|
||||
SHA512 (patch-4.14.5.xz) = 45a6adcc928babe53dd55a444aaae6280f57f844508a9799aada9f70b9fd6160b92b710986810c422ec3a20740f582acb3040f6d6aa883eecb58bf4c4d5918ca
|
||||
|
|
Loading…
Reference in New Issue