Skip to content

Commit 190518a

Browse files
committed
Merge tag 'v5.4.113' of git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into odroid-5.4.y
This is the 5.4.113 stable release Change-Id: Iaf57c6b36a38cfd7fc8120e70221b168d921e5a0
2 parents 6a6fbf1 + ab3bed8 commit 190518a

25 files changed

Lines changed: 68 additions & 35 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 5
33
PATCHLEVEL = 4
4-
SUBLEVEL = 112
4+
SUBLEVEL = 113
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

arch/arm64/include/asm/kvm_arm.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@
276276
#define CPTR_EL2_DEFAULT CPTR_EL2_RES1
277277

278278
/* Hyp Debug Configuration Register bits */
279+
#define MDCR_EL2_TTRF (1 << 19)
279280
#define MDCR_EL2_TPMS (1 << 14)
280281
#define MDCR_EL2_E2PB_MASK (UL(0x3))
281282
#define MDCR_EL2_E2PB_SHIFT (UL(12))

arch/arm64/kernel/cpufeature.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@ static const struct arm64_ftr_bits ftr_id_aa64dfr0[] = {
277277
* of support.
278278
*/
279279
S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64DFR0_PMUVER_SHIFT, 4, 0),
280-
ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_TRACEVER_SHIFT, 4, 0),
281280
ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_DEBUGVER_SHIFT, 4, 0x6),
282281
ARM64_FTR_END,
283282
};

arch/arm64/kvm/debug.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu)
8989
* - Debug ROM Address (MDCR_EL2_TDRA)
9090
* - OS related registers (MDCR_EL2_TDOSA)
9191
* - Statistical profiler (MDCR_EL2_TPMS/MDCR_EL2_E2PB)
92+
* - Self-hosted Trace Filter controls (MDCR_EL2_TTRF)
9293
*
9394
* Additionally, KVM only traps guest accesses to the debug registers if
9495
* the guest is not actively using them (see the KVM_ARM64_DEBUG_DIRTY
@@ -112,6 +113,7 @@ void kvm_arm_setup_debug(struct kvm_vcpu *vcpu)
112113
vcpu->arch.mdcr_el2 = __this_cpu_read(mdcr_el2) & MDCR_EL2_HPMN_MASK;
113114
vcpu->arch.mdcr_el2 |= (MDCR_EL2_TPM |
114115
MDCR_EL2_TPMS |
116+
MDCR_EL2_TTRF |
115117
MDCR_EL2_TPMCR |
116118
MDCR_EL2_TDRA |
117119
MDCR_EL2_TDOSA);

arch/riscv/kernel/entry.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,7 @@ ENTRY(__switch_to)
387387
ENDPROC(__switch_to)
388388

389389
.section ".rodata"
390+
.align LGREG
390391
/* Exception vector table */
391392
ENTRY(excp_vect_table)
392393
RISCV_PTR do_trap_insn_misaligned

block/bio.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ static struct bio *__bio_chain_endio(struct bio *bio)
305305
{
306306
struct bio *parent = bio->bi_private;
307307

308-
if (!parent->bi_status)
308+
if (bio->bi_status && !parent->bi_status)
309309
parent->bi_status = bio->bi_status;
310310
bio_put(bio);
311311
return parent;

drivers/base/dd.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,14 +300,16 @@ int driver_deferred_probe_check_state_continue(struct device *dev)
300300

301301
static void deferred_probe_timeout_work_func(struct work_struct *work)
302302
{
303-
struct device_private *private, *p;
303+
struct device_private *p;
304304

305305
deferred_probe_timeout = 0;
306306
driver_deferred_probe_trigger();
307307
flush_work(&deferred_probe_work);
308308

309-
list_for_each_entry_safe(private, p, &deferred_probe_pending_list, deferred_probe)
310-
dev_info(private->device, "deferred probe pending");
309+
mutex_lock(&deferred_probe_mutex);
310+
list_for_each_entry(p, &deferred_probe_pending_list, deferred_probe)
311+
dev_info(p->device, "deferred probe pending\n");
312+
mutex_unlock(&deferred_probe_mutex);
311313
}
312314
static DECLARE_DELAYED_WORK(deferred_probe_timeout_work, deferred_probe_timeout_work_func);
313315

drivers/gpu/drm/imx/imx-ldb.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,11 @@ static void imx_ldb_encoder_enable(struct drm_encoder *encoder)
197197
int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN;
198198
int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder);
199199

200+
if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) {
201+
dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux);
202+
return;
203+
}
204+
200205
drm_panel_prepare(imx_ldb_ch->panel);
201206

202207
if (dual) {
@@ -255,6 +260,11 @@ imx_ldb_encoder_atomic_mode_set(struct drm_encoder *encoder,
255260
int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder);
256261
u32 bus_format = imx_ldb_ch->bus_format;
257262

263+
if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) {
264+
dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux);
265+
return;
266+
}
267+
258268
if (mode->clock > 170000) {
259269
dev_warn(ldb->dev,
260270
"%s: mode exceeds 170 MHz pixel clock\n", __func__);

drivers/gpu/drm/tegra/dc.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1667,6 +1667,11 @@ static void tegra_dc_commit_state(struct tegra_dc *dc,
16671667
dev_err(dc->dev,
16681668
"failed to set clock rate to %lu Hz\n",
16691669
state->pclk);
1670+
1671+
err = clk_set_rate(dc->clk, state->pclk);
1672+
if (err < 0)
1673+
dev_err(dc->dev, "failed to set clock %pC to %lu Hz: %d\n",
1674+
dc->clk, state->pclk, err);
16701675
}
16711676

16721677
DRM_DEBUG_KMS("rate: %lu, div: %u\n", clk_get_rate(dc->clk),
@@ -1677,11 +1682,6 @@ static void tegra_dc_commit_state(struct tegra_dc *dc,
16771682
value = SHIFT_CLK_DIVIDER(state->div) | PIXEL_CLK_DIVIDER_PCD1;
16781683
tegra_dc_writel(dc, value, DC_DISP_DISP_CLOCK_CONTROL);
16791684
}
1680-
1681-
err = clk_set_rate(dc->clk, state->pclk);
1682-
if (err < 0)
1683-
dev_err(dc->dev, "failed to set clock %pC to %lu Hz: %d\n",
1684-
dc->clk, state->pclk, err);
16851685
}
16861686

16871687
static void tegra_dc_stop(struct tegra_dc *dc)

drivers/interconnect/core.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,8 @@ int icc_link_destroy(struct icc_node *src, struct icc_node *dst)
704704
GFP_KERNEL);
705705
if (new)
706706
src->links = new;
707+
else
708+
ret = -ENOMEM;
707709

708710
out:
709711
mutex_unlock(&icc_lock);

0 commit comments

Comments
 (0)