1354 lines
33 KiB
C
Raw Normal View History

// SPDX-License-Identifier: GPL-2.0-only
/*
* sleep.c - ACPI sleep support.
*
* Copyright (c) 2005 Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
* Copyright (c) 2004 David Shaohua Li <shaohua.li@intel.com>
* Copyright (c) 2000-2003 Patrick Mochel
* Copyright (c) 2003 Open Source Development Lab
*/
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/dmi.h>
#include <linux/device.h>
#include <linux/interrupt.h>
#include <linux/suspend.h>
#include <linux/reboot.h>
#include <linux/acpi.h>
#include <linux/module.h>
#include <linux/syscore_ops.h>
#include <asm/io.h>
#include <trace/events/power.h>
#include "internal.h"
#include "sleep.h"
/*
* Some HW-full platforms do not have _S5, so they may need
* to leverage efi power off for a shutdown.
*/
bool acpi_no_s5;
static u8 sleep_states[ACPI_S_STATE_COUNT];
static void acpi_sleep_tts_switch(u32 acpi_state)
{
acpi_status status;
status = acpi_execute_simple_method(NULL, "\\_TTS", acpi_state);
if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
/*
* OS can't evaluate the _TTS object correctly. Some warning
* message will be printed. But it won't break anything.
*/
printk(KERN_NOTICE "Failure in evaluating _TTS object\n");
}
}
static int tts_notify_reboot(struct notifier_block *this,
unsigned long code, void *x)
{
acpi_sleep_tts_switch(ACPI_STATE_S5);
return NOTIFY_DONE;
}
static struct notifier_block tts_notifier = {
.notifier_call = tts_notify_reboot,
.next = NULL,
.priority = 0,
};
static int acpi_sleep_prepare(u32 acpi_state)
{
#ifdef CONFIG_ACPI_SLEEP
unsigned long acpi_wakeup_address;
/* do we have a wakeup address for S2 and S3? */
if (acpi_state == ACPI_STATE_S3) {
acpi_wakeup_address = acpi_get_wakeup_address();
if (!acpi_wakeup_address)
return -EFAULT;
acpi_set_waking_vector(acpi_wakeup_address);
}
ACPI_FLUSH_CPU_CACHE();
#endif
printk(KERN_INFO PREFIX "Preparing to enter system sleep state S%d\n",
acpi_state);
acpi_enable_wakeup_devices(acpi_state);
acpi_enter_sleep_state_prep(acpi_state);
return 0;
}
bool acpi_sleep_state_supported(u8 sleep_state)
{
acpi_status status;
u8 type_a, type_b;
status = acpi_get_sleep_type_data(sleep_state, &type_a, &type_b);
return ACPI_SUCCESS(status) && (!acpi_gbl_reduced_hardware
|| (acpi_gbl_FADT.sleep_control.address
&& acpi_gbl_FADT.sleep_status.address));
}
#ifdef CONFIG_ACPI_SLEEP
static bool sleep_no_lps0 __read_mostly;
module_param(sleep_no_lps0, bool, 0644);
MODULE_PARM_DESC(sleep_no_lps0, "Do not use the special LPS0 device interface");
static u32 acpi_target_sleep_state = ACPI_STATE_S0;
u32 acpi_target_system_state(void)
{
return acpi_target_sleep_state;
}
EXPORT_SYMBOL_GPL(acpi_target_system_state);
static bool pwr_btn_event_pending;
/*
* The ACPI specification wants us to save NVS memory regions during hibernation
* and to restore them during the subsequent resume. Windows does that also for
* suspend to RAM. However, it is known that this mechanism does not work on
* all machines, so we allow the user to disable it with the help of the
* 'acpi_sleep=nonvs' kernel command line option.
*/
static bool nvs_nosave;
void __init acpi_nvs_nosave(void)
{
nvs_nosave = true;
}
/*
* The ACPI specification wants us to save NVS memory regions during hibernation
* but says nothing about saving NVS during S3. Not all versions of Windows
* save NVS on S3 suspend either, and it is clear that not all systems need
* NVS to be saved at S3 time. To improve suspend/resume time, allow the
* user to disable saving NVS on S3 if their system does not require it, but
* continue to save/restore NVS for S4 as specified.
*/
static bool nvs_nosave_s3;
void __init acpi_nvs_nosave_s3(void)
{
nvs_nosave_s3 = true;
}
static int __init init_nvs_save_s3(const struct dmi_system_id *d)
{
nvs_nosave_s3 = false;
return 0;
}
/*
* ACPI 1.0 wants us to execute _PTS before suspending devices, so we allow the
* user to request that behavior by using the 'acpi_old_suspend_ordering'
* kernel command line option that causes the following variable to be set.
*/
static bool old_suspend_ordering;
void __init acpi_old_suspend_ordering(void)
{
old_suspend_ordering = true;
}
static int __init init_old_suspend_ordering(const struct dmi_system_id *d)
{
acpi_old_suspend_ordering();
return 0;
}
static int __init init_nvs_nosave(const struct dmi_system_id *d)
{
acpi_nvs_nosave();
return 0;
}
static bool acpi_sleep_default_s3;
static int __init init_default_s3(const struct dmi_system_id *d)
{
acpi_sleep_default_s3 = true;
return 0;
}
static const struct dmi_system_id acpisleep_dmi_table[] __initconst = {
{
.callback = init_old_suspend_ordering,
.ident = "Abit KN9 (nForce4 variant)",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "http://www.abit.com.tw/"),
DMI_MATCH(DMI_BOARD_NAME, "KN9 Series(NF-CK804)"),
},
},
{
.callback = init_old_suspend_ordering,
.ident = "HP xw4600 Workstation",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP xw4600 Workstation"),
},
},
{
.callback = init_old_suspend_ordering,
.ident = "Asus Pundit P1-AH2 (M2N8L motherboard)",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTek Computer INC."),
DMI_MATCH(DMI_BOARD_NAME, "M2N8L"),
},
},
{
.callback = init_old_suspend_ordering,
.ident = "Panasonic CF51-2L",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR,
"Matsushita Electric Industrial Co.,Ltd."),
DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VGN-FW41E_H",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW41E_H"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VGN-FW21E",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21E"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VGN-FW21M",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21M"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VPCEB17FX",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB17FX"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VGN-SR11M",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR11M"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Everex StepNote Series",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Everex Systems, Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Everex StepNote Series"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VPCEB1Z1E",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB1Z1E"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VGN-NW130D",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VGN-NW130D"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VPCCW29FX",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VPCCW29FX"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Averatec AV1020-ED2",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "AVERATEC"),
DMI_MATCH(DMI_PRODUCT_NAME, "1000 Series"),
},
},
{
.callback = init_old_suspend_ordering,
.ident = "Asus A8N-SLI DELUXE",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI DELUXE"),
},
},
{
.callback = init_old_suspend_ordering,
.ident = "Asus A8N-SLI Premium",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI Premium"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VGN-SR26GN_P",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR26GN_P"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VPCEB1S1E",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB1S1E"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Sony Vaio VGN-FW520F",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW520F"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Asus K54C",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "K54C"),
},
},
{
.callback = init_nvs_nosave,
.ident = "Asus K54HR",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "K54HR"),
},
},
{
.callback = init_nvs_save_s3,
.ident = "Asus 1025C",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_PRODUCT_NAME, "1025C"),
},
},
/*
* https://bugzilla.kernel.org/show_bug.cgi?id=189431
* Lenovo G50-45 is a platform later than 2012, but needs nvs memory
* saving during S3.
*/
{
.callback = init_nvs_save_s3,
.ident = "Lenovo G50-45",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_NAME, "80E3"),
},
},
/*
* ThinkPad X1 Tablet(2016) cannot do suspend-to-idle using
* the Low Power S0 Idle firmware interface (see
* https://bugzilla.kernel.org/show_bug.cgi?id=199057).
*/
{
.callback = init_default_s3,
.ident = "ThinkPad X1 Tablet(2016)",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_NAME, "20GGA00L00"),
},
},
{},
};
static bool ignore_blacklist;
void __init acpi_sleep_no_blacklist(void)
{
ignore_blacklist = true;
}
static void __init acpi_sleep_dmi_check(void)
{
if (ignore_blacklist)
return;
if (dmi_get_bios_year() >= 2012)
acpi_nvs_nosave_s3();
dmi_check_system(acpisleep_dmi_table);
}
/**
* acpi_pm_freeze - Disable the GPEs and suspend EC transactions.
*/
static int acpi_pm_freeze(void)
{
acpi_disable_all_gpes();
acpi_os_wait_events_complete();
acpi_ec_block_transactions();
return 0;
}
/**
* acpi_pre_suspend - Enable wakeup devices, "freeze" EC and save NVS.
*/
static int acpi_pm_pre_suspend(void)
{
acpi_pm_freeze();
return suspend_nvs_save();
}
/**
* __acpi_pm_prepare - Prepare the platform to enter the target state.
*
* If necessary, set the firmware waking vector and do arch-specific
* nastiness to get the wakeup code to the waking vector.
*/
static int __acpi_pm_prepare(void)
{
int error = acpi_sleep_prepare(acpi_target_sleep_state);
if (error)
acpi_target_sleep_state = ACPI_STATE_S0;
return error;
}
/**
* acpi_pm_prepare - Prepare the platform to enter the target sleep
* state and disable the GPEs.
*/
static int acpi_pm_prepare(void)
{
int error = __acpi_pm_prepare();
if (!error)
error = acpi_pm_pre_suspend();
return error;
}
/**
* acpi_pm_finish - Instruct the platform to leave a sleep state.
*
* This is called after we wake back up (or if entering the sleep state
* failed).
*/
static void acpi_pm_finish(void)
{
struct acpi_device *pwr_btn_adev;
u32 acpi_state = acpi_target_sleep_state;
acpi_ec_unblock_transactions();
suspend_nvs_free();
if (acpi_state == ACPI_STATE_S0)
return;
printk(KERN_INFO PREFIX "Waking up from system sleep state S%d\n",
acpi_state);
acpi_disable_wakeup_devices(acpi_state);
acpi_leave_sleep_state(acpi_state);
/* reset firmware waking vector */
acpi_set_waking_vector(0);
acpi_target_sleep_state = ACPI_STATE_S0;
acpi_resume_power_resources();
/* If we were woken with the fixed power button, provide a small
* hint to userspace in the form of a wakeup event on the fixed power
* button device (if it can be found).
*
* We delay the event generation til now, as the PM layer requires
* timekeeping to be running before we generate events. */
if (!pwr_btn_event_pending)
return;
pwr_btn_event_pending = false;
pwr_btn_adev = acpi_dev_get_first_match_dev(ACPI_BUTTON_HID_POWERF,
NULL, -1);
if (pwr_btn_adev) {
pm_wakeup_event(&pwr_btn_adev->dev, 0);
acpi_dev_put(pwr_btn_adev);
}
}
/**
* acpi_pm_start - Start system PM transition.
*/
static void acpi_pm_start(u32 acpi_state)
{
acpi_target_sleep_state = acpi_state;
acpi_sleep_tts_switch(acpi_target_sleep_state);
acpi_scan_lock_acquire();
}
/**
* acpi_pm_end - Finish up system PM transition.
*/
static void acpi_pm_end(void)
{
ACPI / power: Delay turning off unused power resources after suspend Commit 660b1113e0f3 (ACPI / PM: Fix consistency check for power resources during resume) introduced a check for ACPI power resources which have been turned on by the BIOS during suspend and turns these back off again. This is causing problems on a Dell Venue Pro 11 7130 (i5-4300Y) it causes the following messages to show up in dmesg: [ 131.014605] ACPI: Waking up from system sleep state S3 [ 131.150271] acpi LNXPOWER:07: Turning OFF [ 131.150323] acpi LNXPOWER:06: Turning OFF [ 131.150911] acpi LNXPOWER:00: Turning OFF [ 131.169014] ACPI : EC: interrupt unblocked [ 131.181811] xhci_hcd 0000:00:14.0: System wakeup disabled by ACPI [ 133.535728] pci_raw_set_power_state: 76 callbacks suppressed [ 133.535735] iwlwifi 0000:01:00.0: Refused to change power state, currently in D3 [ 133.597672] PM: noirq resume of devices complete after 2428.891 msecs Followed by a bunch of iwlwifi errors later on and the pcie device dropping from the bus (acpiphp thinks it has been unplugged). Disabling the turning off of unused power resources fixes this. Instead of adding a quirk for this system, this commit fixes this by moving the disabling of unused power resources to later in the resume sequence when the iwlwifi card has been moved out of D3 so the ref_count for its power resource no longer is 0. This new behavior seems to match the intend of the original commit which commit-msg says: "(... which means that no devices are going to need them any time soon) and we should turn them off". This also avoids power resources which we need when bringing devices out of D3 from getting bounced off and then back on again. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-04-30 22:54:16 +02:00
acpi_turn_off_unused_power_resources();
acpi_scan_lock_release();
/*
* This is necessary in case acpi_pm_finish() is not called during a
* failing transition to a sleep state.
*/
acpi_target_sleep_state = ACPI_STATE_S0;
acpi_sleep_tts_switch(acpi_target_sleep_state);
}
#else /* !CONFIG_ACPI_SLEEP */
#define sleep_no_lps0 (1)
#define acpi_target_sleep_state ACPI_STATE_S0
#define acpi_sleep_default_s3 (1)
static inline void acpi_sleep_dmi_check(void) {}
#endif /* CONFIG_ACPI_SLEEP */
#ifdef CONFIG_SUSPEND
static u32 acpi_suspend_states[] = {
[PM_SUSPEND_ON] = ACPI_STATE_S0,
[PM_SUSPEND_STANDBY] = ACPI_STATE_S1,
[PM_SUSPEND_MEM] = ACPI_STATE_S3,
[PM_SUSPEND_MAX] = ACPI_STATE_S5
};
/**
* acpi_suspend_begin - Set the target system sleep state to the state
* associated with given @pm_state, if supported.
*/
static int acpi_suspend_begin(suspend_state_t pm_state)
{
u32 acpi_state = acpi_suspend_states[pm_state];
int error;
error = (nvs_nosave || nvs_nosave_s3) ? 0 : suspend_nvs_alloc();
if (error)
return error;
if (!sleep_states[acpi_state]) {
pr_err("ACPI does not support sleep state S%u\n", acpi_state);
return -ENOSYS;
}
if (acpi_state > ACPI_STATE_S1)
pm_set_suspend_via_firmware();
acpi_pm_start(acpi_state);
return 0;
}
/**
* acpi_suspend_enter - Actually enter a sleep state.
* @pm_state: ignored
*
* Flush caches and go to sleep. For STR we have to call arch-specific
* assembly, which in turn call acpi_enter_sleep_state().
* It's unfortunate, but it works. Please fix if you're feeling frisky.
*/
static int acpi_suspend_enter(suspend_state_t pm_state)
{
acpi_status status = AE_OK;
u32 acpi_state = acpi_target_sleep_state;
int error;
ACPI_FLUSH_CPU_CACHE();
trace_suspend_resume(TPS("acpi_suspend"), acpi_state, true);
switch (acpi_state) {
case ACPI_STATE_S1:
barrier();
status = acpi_enter_sleep_state(acpi_state);
break;
case ACPI_STATE_S3:
if (!acpi_suspend_lowlevel)
return -ENOSYS;
error = acpi_suspend_lowlevel();
if (error)
return error;
pr_info(PREFIX "Low-level resume complete\n");
pm_set_resume_via_firmware();
break;
}
trace_suspend_resume(TPS("acpi_suspend"), acpi_state, false);
/* This violates the spec but is required for bug compatibility. */
acpi_write_bit_register(ACPI_BITREG_SCI_ENABLE, 1);
/* Reprogram control registers */
acpi_leave_sleep_state_prep(acpi_state);
/* ACPI 3.0 specs (P62) says that it's the responsibility
* of the OSPM to clear the status bit [ implying that the
* POWER_BUTTON event should not reach userspace ]
*
* However, we do generate a small hint for userspace in the form of
* a wakeup event. We flag this condition for now and generate the
* event later, as we're currently too early in resume to be able to
* generate wakeup events.
*/
if (ACPI_SUCCESS(status) && (acpi_state == ACPI_STATE_S3)) {
acpi_event_status pwr_btn_status = ACPI_EVENT_FLAG_DISABLED;
acpi_get_event_status(ACPI_EVENT_POWER_BUTTON, &pwr_btn_status);
if (pwr_btn_status & ACPI_EVENT_FLAG_STATUS_SET) {
acpi_clear_event(ACPI_EVENT_POWER_BUTTON);
/* Flag for later */
pwr_btn_event_pending = true;
}
}
/*
* Disable and clear GPE status before interrupt is enabled. Some GPEs
* (like wakeup GPE) haven't handler, this can avoid such GPE misfire.
* acpi_leave_sleep_state will reenable specific GPEs later
*/
acpi_disable_all_gpes();
/* Allow EC transactions to happen. */
ACPI / EC: Add PM operations to improve event handling for resume process This patch makes 2 changes: 1. Restore old behavior Originally, EC driver stops handling both events and transactions in acpi_ec_block_transactions(), and restarts to handle transactions in acpi_ec_unblock_transactions_early(), restarts to handle both events and transactions in acpi_ec_unblock_transactions(). While currently, EC driver still stops handling both events and transactions in acpi_ec_block_transactions(), but restarts to handle both events and transactions in acpi_ec_unblock_transactions_early(). This patch tries to restore the old behavior by dropping __acpi_ec_enable_event() from acpi_unblock_transactions_early(). 2. Improve old behavior However this still cannot fix the real issue as both of the acpi_ec_unblock_xxx() functions are invoked in the noirq stage. Since the EC driver actually doesn't implement the event handling in the polling mode, re-enabling the event handling too early in the noirq stage could result in the problem that if there is no triggering source causing advance_transaction() to be invoked, pending SCI_EVT cannot be detected by the EC driver and _Qxx cannot be triggered. It actually makes sense to restart the event handling in any point during resuming after the noirq stage. Just like the boot stage where the event handling is enabled in .add(), this patch further moves acpi_ec_enable_event() to .resume(). After doing that, the following 2 functions can be combined: acpi_ec_unblock_transactions_early()/acpi_ec_unblock_transactions(). The differences of the event handling availability between the old behavior (this patch isn't applied) and the new behavior (this patch is applied) are as follows: !Applied Applied before suspend Y Y suspend before EC Y Y suspend after EC Y Y suspend_late Y Y suspend_noirq Y (actually N) Y (actually N) resume_noirq Y (actually N) Y (actually N) resume_late Y (actually N) Y (actually N) resume before EC Y (actually N) Y (actually N) resume after EC Y (actually N) Y after resume Y (actually N) Y Where "actually N" means if there is no triggering source, the EC driver is actually not able to notice the pending SCI_EVT occurred in the noirq stage. So we can clearly see that this patch has improved the situation. Signed-off-by: Lv Zheng <lv.zheng@intel.com> Tested-by: Todd E Brandt <todd.e.brandt@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-08-03 16:01:36 +08:00
acpi_ec_unblock_transactions();
suspend_nvs_restore();
return ACPI_SUCCESS(status) ? 0 : -EFAULT;
}
static int acpi_suspend_state_valid(suspend_state_t pm_state)
{
u32 acpi_state;
switch (pm_state) {
case PM_SUSPEND_ON:
case PM_SUSPEND_STANDBY:
case PM_SUSPEND_MEM:
acpi_state = acpi_suspend_states[pm_state];
return sleep_states[acpi_state];
default:
return 0;
}
}
static const struct platform_suspend_ops acpi_suspend_ops = {
.valid = acpi_suspend_state_valid,
.begin = acpi_suspend_begin,
.prepare_late = acpi_pm_prepare,
.enter = acpi_suspend_enter,
.wake = acpi_pm_finish,
.end = acpi_pm_end,
};
/**
* acpi_suspend_begin_old - Set the target system sleep state to the
* state associated with given @pm_state, if supported, and
* execute the _PTS control method. This function is used if the
* pre-ACPI 2.0 suspend ordering has been requested.
*/
static int acpi_suspend_begin_old(suspend_state_t pm_state)
{
int error = acpi_suspend_begin(pm_state);
if (!error)
error = __acpi_pm_prepare();
return error;
}
/*
* The following callbacks are used if the pre-ACPI 2.0 suspend ordering has
* been requested.
*/
static const struct platform_suspend_ops acpi_suspend_ops_old = {
.valid = acpi_suspend_state_valid,
.begin = acpi_suspend_begin_old,
.prepare_late = acpi_pm_pre_suspend,
.enter = acpi_suspend_enter,
.wake = acpi_pm_finish,
.end = acpi_pm_end,
.recover = acpi_pm_finish,
};
ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle The ACPI SCI (System Control Interrupt) is set up as a wakeup IRQ during suspend-to-idle transitions and, consequently, any events signaled through it wake up the system from that state. However, on some systems some of the events signaled via the ACPI SCI while suspended to idle should not cause the system to wake up. In fact, quite often they should just be discarded. Arguably, systems should not resume entirely on such events, but in order to decide which events really should cause the system to resume and which are spurious, it is necessary to resume up to the point when ACPI SCIs are actually handled and processed, which is after executing dpm_resume_noirq() in the system resume path. For this reasons, add a loop around freeze_enter() in which the platforms can process events signaled via multiplexed IRQ lines like the ACPI SCI and add suspend-to-idle hooks that can be used for this purpose to struct platform_freeze_ops. In the ACPI case, the ->wake hook is used for checking if the SCI has triggered while suspended and deferring the interrupt-induced system wakeup until the events signaled through it are actually processed sufficiently to decide whether or not the system should resume. In turn, the ->sync hook allows all of the relevant event queues to be flushed so as to prevent events from being missed due to race conditions. In addition to that, some ACPI code processing wakeup events needs to be modified to use the "hard" version of wakeup triggers, so that it will cause a system resume to happen on device-induced wakeup events even if the "soft" mechanism to prevent the system from suspending is not enabled. However, to preserve the existing behavior with respect to suspend-to-RAM, this only is done in the suspend-to-idle case and only if an SCI has occurred while suspended. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-12 22:56:34 +02:00
static bool s2idle_wakeup;
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
/*
* On platforms supporting the Low Power S0 Idle interface there is an ACPI
* device object with the PNP0D80 compatible device ID (System Power Management
* Controller) and a specific _DSM method under it. That method, if present,
* can be used to indicate to the platform that the OS is transitioning into a
* low-power state in which certain types of activity are not desirable or that
* it is leaving such a state, which allows the platform to adjust its operation
* mode accordingly.
*/
static const struct acpi_device_id lps0_device_ids[] = {
{"PNP0D80", },
{"", },
};
#define ACPI_LPS0_DSM_UUID "c4eb40a0-6cd2-11e2-bcfd-0800200c9a66"
#define ACPI_LPS0_GET_DEVICE_CONSTRAINTS 1
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
#define ACPI_LPS0_SCREEN_OFF 3
#define ACPI_LPS0_SCREEN_ON 4
#define ACPI_LPS0_ENTRY 5
#define ACPI_LPS0_EXIT 6
static acpi_handle lps0_device_handle;
static guid_t lps0_dsm_guid;
static char lps0_dsm_func_mask;
/* Device constraint entry structure */
struct lpi_device_info {
char *name;
int enabled;
union acpi_object *package;
};
/* Constraint package structure */
struct lpi_device_constraint {
int uid;
int min_dstate;
int function_states;
};
struct lpi_constraints {
acpi_handle handle;
int min_dstate;
};
static struct lpi_constraints *lpi_constraints_table;
static int lpi_constraints_table_size;
static void lpi_device_get_constraints(void)
{
union acpi_object *out_obj;
int i;
out_obj = acpi_evaluate_dsm_typed(lps0_device_handle, &lps0_dsm_guid,
1, ACPI_LPS0_GET_DEVICE_CONSTRAINTS,
NULL, ACPI_TYPE_PACKAGE);
acpi_handle_debug(lps0_device_handle, "_DSM function 1 eval %s\n",
out_obj ? "successful" : "failed");
if (!out_obj)
return;
lpi_constraints_table = kcalloc(out_obj->package.count,
sizeof(*lpi_constraints_table),
GFP_KERNEL);
if (!lpi_constraints_table)
goto free_acpi_buffer;
acpi_handle_debug(lps0_device_handle, "LPI: constraints list begin:\n");
for (i = 0; i < out_obj->package.count; i++) {
struct lpi_constraints *constraint;
acpi_status status;
union acpi_object *package = &out_obj->package.elements[i];
struct lpi_device_info info = { };
int package_count = 0, j;
if (!package)
continue;
for (j = 0; j < package->package.count; ++j) {
union acpi_object *element =
&(package->package.elements[j]);
switch (element->type) {
case ACPI_TYPE_INTEGER:
info.enabled = element->integer.value;
break;
case ACPI_TYPE_STRING:
info.name = element->string.pointer;
break;
case ACPI_TYPE_PACKAGE:
package_count = element->package.count;
info.package = element->package.elements;
break;
}
}
if (!info.enabled || !info.package || !info.name)
continue;
constraint = &lpi_constraints_table[lpi_constraints_table_size];
status = acpi_get_handle(NULL, info.name, &constraint->handle);
if (ACPI_FAILURE(status))
continue;
acpi_handle_debug(lps0_device_handle,
"index:%d Name:%s\n", i, info.name);
constraint->min_dstate = -1;
for (j = 0; j < package_count; ++j) {
union acpi_object *info_obj = &info.package[j];
union acpi_object *cnstr_pkg;
union acpi_object *obj;
struct lpi_device_constraint dev_info;
switch (info_obj->type) {
case ACPI_TYPE_INTEGER:
/* version */
break;
case ACPI_TYPE_PACKAGE:
if (info_obj->package.count < 2)
break;
cnstr_pkg = info_obj->package.elements;
obj = &cnstr_pkg[0];
dev_info.uid = obj->integer.value;
obj = &cnstr_pkg[1];
dev_info.min_dstate = obj->integer.value;
acpi_handle_debug(lps0_device_handle,
"uid:%d min_dstate:%s\n",
dev_info.uid,
acpi_power_state_string(dev_info.min_dstate));
constraint->min_dstate = dev_info.min_dstate;
break;
}
}
if (constraint->min_dstate < 0) {
acpi_handle_debug(lps0_device_handle,
"Incomplete constraint defined\n");
continue;
}
lpi_constraints_table_size++;
}
acpi_handle_debug(lps0_device_handle, "LPI: constraints list end\n");
free_acpi_buffer:
ACPI_FREE(out_obj);
}
static void lpi_check_constraints(void)
{
int i;
for (i = 0; i < lpi_constraints_table_size; ++i) {
acpi_handle handle = lpi_constraints_table[i].handle;
struct acpi_device *adev;
if (!handle || acpi_bus_get_device(handle, &adev))
continue;
acpi_handle_debug(handle,
"LPI: required min power state:%s current power state:%s\n",
acpi_power_state_string(lpi_constraints_table[i].min_dstate),
acpi_power_state_string(adev->power.state));
if (!adev->flags.power_manageable) {
acpi_handle_info(handle, "LPI: Device not power manageable\n");
lpi_constraints_table[i].handle = NULL;
continue;
}
if (adev->power.state < lpi_constraints_table[i].min_dstate)
acpi_handle_info(handle,
"LPI: Constraint not met; min power state:%s current power state:%s\n",
acpi_power_state_string(lpi_constraints_table[i].min_dstate),
acpi_power_state_string(adev->power.state));
}
}
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
static void acpi_sleep_run_lps0_dsm(unsigned int func)
{
union acpi_object *out_obj;
if (!(lps0_dsm_func_mask & (1 << func)))
return;
out_obj = acpi_evaluate_dsm(lps0_device_handle, &lps0_dsm_guid, 1, func, NULL);
ACPI_FREE(out_obj);
acpi_handle_debug(lps0_device_handle, "_DSM function %u evaluation %s\n",
func, out_obj ? "successful" : "failed");
}
static int lps0_device_attach(struct acpi_device *adev,
const struct acpi_device_id *not_used)
{
union acpi_object *out_obj;
if (lps0_device_handle)
return 0;
if (!(acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0))
return 0;
guid_parse(ACPI_LPS0_DSM_UUID, &lps0_dsm_guid);
/* Check if the _DSM is present and as expected. */
out_obj = acpi_evaluate_dsm(adev->handle, &lps0_dsm_guid, 1, 0, NULL);
if (!out_obj || out_obj->type != ACPI_TYPE_BUFFER) {
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
acpi_handle_debug(adev->handle,
"_DSM function 0 evaluation failed\n");
return 0;
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
}
lps0_dsm_func_mask = *(char *)out_obj->buffer.pointer;
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
ACPI_FREE(out_obj);
acpi_handle_debug(adev->handle, "_DSM function mask: 0x%x\n",
lps0_dsm_func_mask);
lps0_device_handle = adev->handle;
lpi_device_get_constraints();
/*
* Use suspend-to-idle by default if the default suspend mode was not
* set from the command line.
*/
if (mem_sleep_default > PM_SUSPEND_MEM && !acpi_sleep_default_s3)
mem_sleep_current = PM_SUSPEND_TO_IDLE;
/*
* Some LPS0 systems, like ASUS Zenbook UX430UNR/i7-8550U, require the
* EC GPE to be enabled while suspended for certain wakeup devices to
* work, so mark it as wakeup-capable.
*/
acpi_ec_mark_gpe_for_wake();
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
return 0;
}
static struct acpi_scan_handler lps0_handler = {
.ids = lps0_device_ids,
.attach = lps0_device_attach,
};
static int acpi_s2idle_begin(void)
{
acpi_scan_lock_acquire();
return 0;
}
static int acpi_s2idle_prepare(void)
{
if (acpi_sci_irq_valid()) {
enable_irq_wake(acpi_sci_irq);
acpi_ec_set_gpe_wake_mask(ACPI_GPE_ENABLE);
}
ACPI: PM: Set enable_for_wake for wakeup GPEs during suspend-to-idle I noticed that recently multiple systems (chromebooks) couldn't wake from S0ix using LID or Keyboard after updating to a newer kernel. I bisected and it turned up commit f941d3e41da7 ("ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle"). I checked that the issue got fixed if that commit was reverted. I debugged and found that although PNP0C0D:00 (representing the LID) is wake capable and should wakeup the system per the code in acpi_wakeup_gpe_init() and in drivers/acpi/button.c: localhost /sys # cat /proc/acpi/wakeup Device S-state Status Sysfs node LID0 S4 *enabled platform:PNP0C0D:00 CREC S5 *disabled platform:GOOG0004:00 *disabled platform:cros-ec-dev.1.auto *disabled platform:cros-ec-accel.0 *disabled platform:cros-ec-accel.1 *disabled platform:cros-ec-gyro.0 *disabled platform:cros-ec-ring.0 *disabled platform:cros-usbpd-charger.2.auto *disabled platform:cros-usbpd-logger.3.auto D015 S3 *enabled i2c:i2c-ELAN0000:00 PENH S3 *enabled platform:PRP0001:00 XHCI S3 *enabled pci:0000:00:14.0 GLAN S4 *disabled WIFI S3 *disabled pci:0000:00:14.3 localhost /sys # On debugging, I found that its corresponding GPE is not being enabled. The particular GPE's "gpe_register_info->enable_for_wake" does not have any bits set when acpi_enable_all_wakeup_gpes() comes around to use it. I looked at code and could not find any other code path that should set the bits in "enable_for_wake" bitmask for the wake enabled devices for s2idle. [I do see that it happens for S3 in acpi_sleep_prepare()]. Thus I used the same call to enable the GPEs for wake enabled devices, and verified that this fixes the regression I was seeing on multiple of my devices. [ rjw: The problem is that commit f941d3e41da7 ("ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle") forgot to add the acpi_enable_wakeup_devices() call for s2idle along with acpi_enable_all_wakeup_gpes(). ] Fixes: f941d3e41da7 ("ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle") Link: https://bugzilla.kernel.org/show_bug.cgi?id=203579 Signed-off-by: Rajat Jain <rajatja@google.com> [ rjw: Subject & changelog ] Cc: 5.0+ <stable@vger.kernel.org> # 5.0+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2019-05-13 12:17:08 -07:00
acpi_enable_wakeup_devices(ACPI_STATE_S0);
/* Change the configuration of GPEs to avoid spurious wakeup. */
acpi_enable_all_wakeup_gpes();
acpi_os_wait_events_complete();
s2idle_wakeup = true;
return 0;
}
ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices According to Section 3.5 of the "Intel Low Power S0 Idle" document [1], Function 5 of the LPS0 _DSM is expected to be invoked when the system configuration matches the criteria for entering the target low-power state of the platform. In particular, this means that all devices should be suspended and in low-power states already when that function is invoked. This is not the case currently, however, because Function 5 of the LPS0 _DSM is invoked by it before the "noirq" phase of device suspend, which means that some devices may not have been put into low-power states yet at that point. That is a consequence of the previous design of the suspend-to-idle flow that allowed the "noirq" phase of device suspend and the "noirq" phase of device resume to be carried out for multiple times while "suspended" (if any spurious wakeup events were detected) and the point of the LPS0 _DSM Function 5 invocation was chosen so as to call it (and LPS0 _DSM Function 6 analogously) once per suspend-resume cycle (regardless of how many times the "noirq" phases of device suspend and resume were carried out while "suspended"). Now that the suspend-to-idle flow has been redesigned to carry out the "noirq" phases of device suspend and resume once in each cycle, the code can be reordered to follow the specification that it is based on more closely. For this purpose, add ->prepare_late and ->restore_early platform callbacks for suspend-to-idle, to be executed, respectively, after the "noirq" phase of suspending devices and before the "noirq" phase of resuming them and make ACPI use them for the invocation of LPS0 _DSM functions as appropriate. While at it, move the LPS0 entry requirements check to be made before invoking Functions 3 and 5 of the LPS0 _DSM (also once per cycle) as follows from the specification [1]. Link: https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf # [1] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
2019-08-01 19:31:10 +02:00
static int acpi_s2idle_prepare_late(void)
ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle The ACPI SCI (System Control Interrupt) is set up as a wakeup IRQ during suspend-to-idle transitions and, consequently, any events signaled through it wake up the system from that state. However, on some systems some of the events signaled via the ACPI SCI while suspended to idle should not cause the system to wake up. In fact, quite often they should just be discarded. Arguably, systems should not resume entirely on such events, but in order to decide which events really should cause the system to resume and which are spurious, it is necessary to resume up to the point when ACPI SCIs are actually handled and processed, which is after executing dpm_resume_noirq() in the system resume path. For this reasons, add a loop around freeze_enter() in which the platforms can process events signaled via multiplexed IRQ lines like the ACPI SCI and add suspend-to-idle hooks that can be used for this purpose to struct platform_freeze_ops. In the ACPI case, the ->wake hook is used for checking if the SCI has triggered while suspended and deferring the interrupt-induced system wakeup until the events signaled through it are actually processed sufficiently to decide whether or not the system should resume. In turn, the ->sync hook allows all of the relevant event queues to be flushed so as to prevent events from being missed due to race conditions. In addition to that, some ACPI code processing wakeup events needs to be modified to use the "hard" version of wakeup triggers, so that it will cause a system resume to happen on device-induced wakeup events even if the "soft" mechanism to prevent the system from suspending is not enabled. However, to preserve the existing behavior with respect to suspend-to-RAM, this only is done in the suspend-to-idle case and only if an SCI has occurred while suspended. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-12 22:56:34 +02:00
{
ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices According to Section 3.5 of the "Intel Low Power S0 Idle" document [1], Function 5 of the LPS0 _DSM is expected to be invoked when the system configuration matches the criteria for entering the target low-power state of the platform. In particular, this means that all devices should be suspended and in low-power states already when that function is invoked. This is not the case currently, however, because Function 5 of the LPS0 _DSM is invoked by it before the "noirq" phase of device suspend, which means that some devices may not have been put into low-power states yet at that point. That is a consequence of the previous design of the suspend-to-idle flow that allowed the "noirq" phase of device suspend and the "noirq" phase of device resume to be carried out for multiple times while "suspended" (if any spurious wakeup events were detected) and the point of the LPS0 _DSM Function 5 invocation was chosen so as to call it (and LPS0 _DSM Function 6 analogously) once per suspend-resume cycle (regardless of how many times the "noirq" phases of device suspend and resume were carried out while "suspended"). Now that the suspend-to-idle flow has been redesigned to carry out the "noirq" phases of device suspend and resume once in each cycle, the code can be reordered to follow the specification that it is based on more closely. For this purpose, add ->prepare_late and ->restore_early platform callbacks for suspend-to-idle, to be executed, respectively, after the "noirq" phase of suspending devices and before the "noirq" phase of resuming them and make ACPI use them for the invocation of LPS0 _DSM functions as appropriate. While at it, move the LPS0 entry requirements check to be made before invoking Functions 3 and 5 of the LPS0 _DSM (also once per cycle) as follows from the specification [1]. Link: https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf # [1] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
2019-08-01 19:31:10 +02:00
if (!lps0_device_handle || sleep_no_lps0)
return 0;
if (pm_debug_messages_on)
lpi_check_constraints();
ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices According to Section 3.5 of the "Intel Low Power S0 Idle" document [1], Function 5 of the LPS0 _DSM is expected to be invoked when the system configuration matches the criteria for entering the target low-power state of the platform. In particular, this means that all devices should be suspended and in low-power states already when that function is invoked. This is not the case currently, however, because Function 5 of the LPS0 _DSM is invoked by it before the "noirq" phase of device suspend, which means that some devices may not have been put into low-power states yet at that point. That is a consequence of the previous design of the suspend-to-idle flow that allowed the "noirq" phase of device suspend and the "noirq" phase of device resume to be carried out for multiple times while "suspended" (if any spurious wakeup events were detected) and the point of the LPS0 _DSM Function 5 invocation was chosen so as to call it (and LPS0 _DSM Function 6 analogously) once per suspend-resume cycle (regardless of how many times the "noirq" phases of device suspend and resume were carried out while "suspended"). Now that the suspend-to-idle flow has been redesigned to carry out the "noirq" phases of device suspend and resume once in each cycle, the code can be reordered to follow the specification that it is based on more closely. For this purpose, add ->prepare_late and ->restore_early platform callbacks for suspend-to-idle, to be executed, respectively, after the "noirq" phase of suspending devices and before the "noirq" phase of resuming them and make ACPI use them for the invocation of LPS0 _DSM functions as appropriate. While at it, move the LPS0 entry requirements check to be made before invoking Functions 3 and 5 of the LPS0 _DSM (also once per cycle) as follows from the specification [1]. Link: https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf # [1] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
2019-08-01 19:31:10 +02:00
acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF);
acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY);
return 0;
}
static bool acpi_s2idle_wake(void)
ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices According to Section 3.5 of the "Intel Low Power S0 Idle" document [1], Function 5 of the LPS0 _DSM is expected to be invoked when the system configuration matches the criteria for entering the target low-power state of the platform. In particular, this means that all devices should be suspended and in low-power states already when that function is invoked. This is not the case currently, however, because Function 5 of the LPS0 _DSM is invoked by it before the "noirq" phase of device suspend, which means that some devices may not have been put into low-power states yet at that point. That is a consequence of the previous design of the suspend-to-idle flow that allowed the "noirq" phase of device suspend and the "noirq" phase of device resume to be carried out for multiple times while "suspended" (if any spurious wakeup events were detected) and the point of the LPS0 _DSM Function 5 invocation was chosen so as to call it (and LPS0 _DSM Function 6 analogously) once per suspend-resume cycle (regardless of how many times the "noirq" phases of device suspend and resume were carried out while "suspended"). Now that the suspend-to-idle flow has been redesigned to carry out the "noirq" phases of device suspend and resume once in each cycle, the code can be reordered to follow the specification that it is based on more closely. For this purpose, add ->prepare_late and ->restore_early platform callbacks for suspend-to-idle, to be executed, respectively, after the "noirq" phase of suspending devices and before the "noirq" phase of resuming them and make ACPI use them for the invocation of LPS0 _DSM functions as appropriate. While at it, move the LPS0 entry requirements check to be made before invoking Functions 3 and 5 of the LPS0 _DSM (also once per cycle) as follows from the specification [1]. Link: https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf # [1] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
2019-08-01 19:31:10 +02:00
{
if (!acpi_sci_irq_valid())
return pm_wakeup_pending();
while (pm_wakeup_pending()) {
/*
* If IRQD_WAKEUP_ARMED is set for the SCI at this point, the
* SCI has not triggered while suspended, so bail out (the
* wakeup is pending anyway and the SCI is not the source of
* it).
*/
if (irqd_is_wakeup_armed(irq_get_irq_data(acpi_sci_irq))) {
pm_pr_dbg("Wakeup unrelated to ACPI SCI\n");
return true;
}
/*
* If the status bit of any enabled fixed event is set, the
* wakeup is regarded as valid.
*/
if (acpi_any_fixed_event_status_set()) {
pm_pr_dbg("ACPI fixed event wakeup\n");
return true;
}
ACPI: PM: Add acpi_[un]register_wakeup_handler() Since commit fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system") the SCI triggering without there being a wakeup cause recognized by the ACPI sleep code will no longer wakeup the system. This works as intended, but this is a problem for devices where the SCI is shared with another device which is also a wakeup source. In the past these, from the pov of the ACPI sleep code, spurious SCIs would still cause a wakeup so the wakeup from the device sharing the interrupt would actually wakeup the system. This now no longer works. This is a problem on e.g. Bay Trail-T and Cherry Trail devices where some peripherals (typically the XHCI controller) can signal a Power Management Event (PME) to the Power Management Controller (PMC) to wakeup the system, this uses the same interrupt as the SCI. These wakeups are handled through a special INT0002 ACPI device which checks for events in the GPE0a_STS for this and takes care of acking the PME so that the shared interrupt stops triggering. The change to the ACPI sleep code to ignore the spurious SCI, causes the system to no longer wakeup on these PME events. To make things worse this means that the INT0002 device driver interrupt handler will no longer run, causing the PME to not get cleared and resulting in the system hanging. Trying to wakeup the system after such a PME through e.g. the power button no longer works. Add an acpi_register_wakeup_handler() function which registers a handler to be called from acpi_s2idle_wake() and when the handler returns true, return true from acpi_s2idle_wake(). The INT0002 driver will use this mechanism to check the GPE0a_STS register from acpi_s2idle_wake() and to tell the system to wakeup if a PME is signaled in the register. Fixes: fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system") Cc: 5.4+ <stable@vger.kernel.org> # 5.4+ Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-04-03 17:48:33 +02:00
/* Check wakeups from drivers sharing the SCI. */
if (acpi_check_wakeup_handlers()) {
pm_pr_dbg("ACPI custom handler wakeup\n");
return true;
}
ACPI: PM: Add acpi_[un]register_wakeup_handler() Since commit fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system") the SCI triggering without there being a wakeup cause recognized by the ACPI sleep code will no longer wakeup the system. This works as intended, but this is a problem for devices where the SCI is shared with another device which is also a wakeup source. In the past these, from the pov of the ACPI sleep code, spurious SCIs would still cause a wakeup so the wakeup from the device sharing the interrupt would actually wakeup the system. This now no longer works. This is a problem on e.g. Bay Trail-T and Cherry Trail devices where some peripherals (typically the XHCI controller) can signal a Power Management Event (PME) to the Power Management Controller (PMC) to wakeup the system, this uses the same interrupt as the SCI. These wakeups are handled through a special INT0002 ACPI device which checks for events in the GPE0a_STS for this and takes care of acking the PME so that the shared interrupt stops triggering. The change to the ACPI sleep code to ignore the spurious SCI, causes the system to no longer wakeup on these PME events. To make things worse this means that the INT0002 device driver interrupt handler will no longer run, causing the PME to not get cleared and resulting in the system hanging. Trying to wakeup the system after such a PME through e.g. the power button no longer works. Add an acpi_register_wakeup_handler() function which registers a handler to be called from acpi_s2idle_wake() and when the handler returns true, return true from acpi_s2idle_wake(). The INT0002 driver will use this mechanism to check the GPE0a_STS register from acpi_s2idle_wake() and to tell the system to wakeup if a PME is signaled in the register. Fixes: fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system") Cc: 5.4+ <stable@vger.kernel.org> # 5.4+ Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-04-03 17:48:33 +02:00
ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() If the EC GPE status is not set after checking all of the other GPEs, acpi_s2idle_wake() returns 'false', to indicate that the SCI event that has just triggered is not a system wakeup one, but it does that without canceling the pending wakeup and re-arming the SCI for system wakeup which is a mistake, because it may cause s2idle_loop() to busy spin until the next valid wakeup event. [If that happens, the first spurious wakeup is still pending after acpi_s2idle_wake() has returned, so s2idle_enter() does nothing, acpi_s2idle_wake() is called again and it sees that the SCI has triggered, but no GPEs are active, so 'false' is returned again, and so on.] Fix that by moving all of the GPE checking logic from acpi_s2idle_wake() to acpi_ec_dispatch_gpe() and making the latter return 'true' only if a non-EC GPE has triggered and 'false' otherwise, which will cause acpi_s2idle_wake() to cancel the pending SCI wakeup and re-arm the SCI for system wakeup regardless of the EC GPE status. This also addresses a lockup observed on an Elitegroup EF20EA laptop after attempting to wake it up from suspend-to-idle by a key press. Fixes: d5406284ff80 ("ACPI: PM: s2idle: Refine active GPEs check") Link: https://bugzilla.kernel.org/show_bug.cgi?id=207603 Reported-by: Todd Brandt <todd.e.brandt@linux.intel.com> Fixes: fdde0ff8590b ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system") Link: https://lore.kernel.org/linux-acpi/CAB4CAwdqo7=MvyG_PE+PGVfeA17AHF5i5JucgaKqqMX6mjArbQ@mail.gmail.com/ Reported-by: Chris Chiu <chiu@endlessm.com> Tested-by: Chris Chiu <chiu@endlessm.com> Cc: 5.4+ <stable@vger.kernel.org> # 5.4+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-05-09 10:44:41 +02:00
/* Check non-EC GPE wakeups and dispatch the EC GPE. */
if (acpi_ec_dispatch_gpe()) {
pm_pr_dbg("ACPI non-EC GPE wakeup\n");
return true;
}
PM: sleep: Simplify suspend-to-idle control flow After commit 33e4f80ee69b ("ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle") the "noirq" phases of device suspend and resume may run for multiple times during suspend-to-idle, if there are spurious system wakeup events while suspended. However, this is complicated and fragile and actually unnecessary. The main reason for doing this is that on some systems the EC may signal system wakeup events (power button events, for example) as well as events that should not cause the system to resume (spurious system wakeup events). Thus, in order to determine whether or not a given event signaled by the EC while suspended is a proper system wakeup one, the EC GPE needs to be dispatched and to start with that was achieved by allowing the ACPI SCI action handler to run, which was only possible after calling resume_device_irqs(). However, dispatching the EC GPE this way turned out to take too much time in some cases and some EC events might be missed due to that, so commit 68e22011856f ("ACPI: EC: Dispatch the EC GPE directly on s2idle wake") started to dispatch the EC GPE right after a wakeup event has been detected, so in fact the full ACPI SCI action handler doesn't need to run any more to deal with the wakeups coming from the EC. Use this observation to simplify the suspend-to-idle control flow so that the "noirq" phases of device suspend and resume are each run only once in every suspend-to-idle cycle, which is reported to significantly reduce power drawn by some systems when suspended to idle (by allowing them to reach a deep platform-wide low-power state through the suspend-to-idle flow). [What appears to happen is that the "noirq" resume of devices after a spurious EC wakeup brings some devices into a state in which they prevent the platform from reaching the deep low-power state going forward, even after a subsequent "noirq" suspend phase, and on some systems the EC triggers such wakeups already when the "noirq" suspend of devices is running for the first time in the given suspend/resume cycle, so the platform cannot reach the deep low-power state at all.] First, make acpi_s2idle_wake() use the acpi_ec_dispatch_gpe() return value to determine whether or not the wakeup may have been triggered by the EC (in which case the system wakeup is canceled and ACPI events are processed in order to determine whether or not the event is a proper system wakeup one) and use rearm_wake_irq() (introduced by a previous change) in it to rearm the ACPI SCI for system wakeup detection in case the system will remain suspended. Second, drop acpi_s2idle_sync(), which is not needed any more, and the corresponding global platform suspend-to-idle callback. Next, drop the pm_wakeup_pending() check (which is an optimization only) from __device_suspend_noirq() to prevent it from returning errors on system wakeups occurring before the "noirq" phase of device suspend is complete (as in the case of suspend-to-idle it is not known whether or not these wakeups are suprious at that point), in order to avoid having to carry out a "noirq" resume of devices on a spurious system wakeup. Finally, change the code flow in s2idle_loop() to (1) run the "noirq" suspend of devices once before starting the loop, (2) check for spurious EC wakeups (via the platform ->wake callback) for the first time before calling s2idle_enter(), and (3) run the "noirq" resume of devices once after leaving the loop. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Thomas Gleixner <tglx@linutronix.de>
2019-07-15 23:52:03 +02:00
/*
* Cancel the SCI wakeup and process all pending events in case
PM: sleep: Simplify suspend-to-idle control flow After commit 33e4f80ee69b ("ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle") the "noirq" phases of device suspend and resume may run for multiple times during suspend-to-idle, if there are spurious system wakeup events while suspended. However, this is complicated and fragile and actually unnecessary. The main reason for doing this is that on some systems the EC may signal system wakeup events (power button events, for example) as well as events that should not cause the system to resume (spurious system wakeup events). Thus, in order to determine whether or not a given event signaled by the EC while suspended is a proper system wakeup one, the EC GPE needs to be dispatched and to start with that was achieved by allowing the ACPI SCI action handler to run, which was only possible after calling resume_device_irqs(). However, dispatching the EC GPE this way turned out to take too much time in some cases and some EC events might be missed due to that, so commit 68e22011856f ("ACPI: EC: Dispatch the EC GPE directly on s2idle wake") started to dispatch the EC GPE right after a wakeup event has been detected, so in fact the full ACPI SCI action handler doesn't need to run any more to deal with the wakeups coming from the EC. Use this observation to simplify the suspend-to-idle control flow so that the "noirq" phases of device suspend and resume are each run only once in every suspend-to-idle cycle, which is reported to significantly reduce power drawn by some systems when suspended to idle (by allowing them to reach a deep platform-wide low-power state through the suspend-to-idle flow). [What appears to happen is that the "noirq" resume of devices after a spurious EC wakeup brings some devices into a state in which they prevent the platform from reaching the deep low-power state going forward, even after a subsequent "noirq" suspend phase, and on some systems the EC triggers such wakeups already when the "noirq" suspend of devices is running for the first time in the given suspend/resume cycle, so the platform cannot reach the deep low-power state at all.] First, make acpi_s2idle_wake() use the acpi_ec_dispatch_gpe() return value to determine whether or not the wakeup may have been triggered by the EC (in which case the system wakeup is canceled and ACPI events are processed in order to determine whether or not the event is a proper system wakeup one) and use rearm_wake_irq() (introduced by a previous change) in it to rearm the ACPI SCI for system wakeup detection in case the system will remain suspended. Second, drop acpi_s2idle_sync(), which is not needed any more, and the corresponding global platform suspend-to-idle callback. Next, drop the pm_wakeup_pending() check (which is an optimization only) from __device_suspend_noirq() to prevent it from returning errors on system wakeups occurring before the "noirq" phase of device suspend is complete (as in the case of suspend-to-idle it is not known whether or not these wakeups are suprious at that point), in order to avoid having to carry out a "noirq" resume of devices on a spurious system wakeup. Finally, change the code flow in s2idle_loop() to (1) run the "noirq" suspend of devices once before starting the loop, (2) check for spurious EC wakeups (via the platform ->wake callback) for the first time before calling s2idle_enter(), and (3) run the "noirq" resume of devices once after leaving the loop. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Thomas Gleixner <tglx@linutronix.de>
2019-07-15 23:52:03 +02:00
* there are any wakeup ones in there.
*
* Note that if any non-EC GPEs are active at this point, the
* SCI will retrigger after the rearming below, so no events
* should be missed by canceling the wakeup here.
*/
ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle The ACPI SCI (System Control Interrupt) is set up as a wakeup IRQ during suspend-to-idle transitions and, consequently, any events signaled through it wake up the system from that state. However, on some systems some of the events signaled via the ACPI SCI while suspended to idle should not cause the system to wake up. In fact, quite often they should just be discarded. Arguably, systems should not resume entirely on such events, but in order to decide which events really should cause the system to resume and which are spurious, it is necessary to resume up to the point when ACPI SCIs are actually handled and processed, which is after executing dpm_resume_noirq() in the system resume path. For this reasons, add a loop around freeze_enter() in which the platforms can process events signaled via multiplexed IRQ lines like the ACPI SCI and add suspend-to-idle hooks that can be used for this purpose to struct platform_freeze_ops. In the ACPI case, the ->wake hook is used for checking if the SCI has triggered while suspended and deferring the interrupt-induced system wakeup until the events signaled through it are actually processed sufficiently to decide whether or not the system should resume. In turn, the ->sync hook allows all of the relevant event queues to be flushed so as to prevent events from being missed due to race conditions. In addition to that, some ACPI code processing wakeup events needs to be modified to use the "hard" version of wakeup triggers, so that it will cause a system resume to happen on device-induced wakeup events even if the "soft" mechanism to prevent the system from suspending is not enabled. However, to preserve the existing behavior with respect to suspend-to-RAM, this only is done in the suspend-to-idle case and only if an SCI has occurred while suspended. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-12 22:56:34 +02:00
pm_system_cancel_wakeup();
acpi_os_wait_events_complete();
ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle The ACPI SCI (System Control Interrupt) is set up as a wakeup IRQ during suspend-to-idle transitions and, consequently, any events signaled through it wake up the system from that state. However, on some systems some of the events signaled via the ACPI SCI while suspended to idle should not cause the system to wake up. In fact, quite often they should just be discarded. Arguably, systems should not resume entirely on such events, but in order to decide which events really should cause the system to resume and which are spurious, it is necessary to resume up to the point when ACPI SCIs are actually handled and processed, which is after executing dpm_resume_noirq() in the system resume path. For this reasons, add a loop around freeze_enter() in which the platforms can process events signaled via multiplexed IRQ lines like the ACPI SCI and add suspend-to-idle hooks that can be used for this purpose to struct platform_freeze_ops. In the ACPI case, the ->wake hook is used for checking if the SCI has triggered while suspended and deferring the interrupt-induced system wakeup until the events signaled through it are actually processed sufficiently to decide whether or not the system should resume. In turn, the ->sync hook allows all of the relevant event queues to be flushed so as to prevent events from being missed due to race conditions. In addition to that, some ACPI code processing wakeup events needs to be modified to use the "hard" version of wakeup triggers, so that it will cause a system resume to happen on device-induced wakeup events even if the "soft" mechanism to prevent the system from suspending is not enabled. However, to preserve the existing behavior with respect to suspend-to-RAM, this only is done in the suspend-to-idle case and only if an SCI has occurred while suspended. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-12 22:56:34 +02:00
/*
Merge msm-5.4 (kernel.lnx.5.4-200510) into msm-waipio Changes in kernel.lnx.5.4-200510 msm:ADSPRPC: memory map updates to remote process radio: RTC6226: remove open and release v4l2_fh file dt-bindings: clock: add support for DSI CPHY clocks firmware: scm: Add export symbol for scm API usb: f_qdss: Fix watchdog bark issue on wait_for_completion usb: f_qdss: Remove QDSS read functionality as not in use usb: f_qdss: Handle async completion of requests during qdss_close usb: f_qdss: Dequeue pending requests upon qdss close ucsi: ucsi_glink: Fix message handling in ucsi_qti_notify() arm64: defconfig: Enable HH_IRQ_LEND for Lahaina GKI arm64: defconfig: Add HH_IRQ_LEND to genericarmv8 haven: irq_lend: Lendee registration persists across transactions haven: irq_lend: Defer vm_name to vmid translation cnss2: Enable Support for WFC call TWT config haven: ctrl: Enable setting trace class cnss2: Post register driver work as unkillable event clockevents: Add NULL definition for tick_broadcast on UP sched: Improve the scheduler scsi: pm: Balance pm_only of request queue during system resume usb: misc: nb7vpq904m: rework to work with ucsi framework clk: qcom: gdsc-regulator: correct gdsc_disable() success return value coresight: add sw usb mode support for tmc ASoC: update uapi header for upstream compliance coresight: tmc: clear has_iommu flag when smmu is bypassed devfreq: memlat: track cpu during ipi to cluster soc: qcom: service-locator: Add soft-dependency on QRTR Revert "arm64: defconfig: Insert Adreno default governor in gki defconfig" msm: adsprpc: remove excesive logging from debugfs during smmu probing cnss2: Add code to update cnss soc info drivers: qcom: rpmh_master_stat: remove stub function definition ucsi: ucsi_glink: notify partner information regulator: rpm-smd-regulator: Add support for proxy consumers regulators: rpm-smd: Remove unused exported functions Rest replicator registers when enabling it first time cpufreq: qcom: Add a property for max lut entries cpufreq: qcom: Fix multiple request of IRQs regulator: rpm-smd: Add snapshot of rpm-smd regulator driver usb: phy: qmp: support multiple function of portselect input: qcom-hv-haptics: set auto resonance when loading effects input: misc: qcom-hv-haptics: check nvmem before using it msm: adsprpc: allow only unsigned offload for untrusted apps mhi: core: remove duplicate timesync sysfs functions mhi: core: add asynchronous time request support in sysfs defconfig: lahaina: Enable LEDS_TRIGGER_TIMER cnss2: Fix a few issues during platform reboot or shutdown defconfig: arm64: Enable SDCARD_FS for Lahaina ARM: msm: Add board config support for 32 bit SDXLEMUR ARM: convert build of appended dtb zImage to list of dtbs ANDROID: ARM: add config option to build zImage/dtb combo msm: adsprpc: Driver capability iommu/arm-smmu: Fix tbu_ids type in qsmmuv500_tlb_sync_timeout() soc: qcom: mem-buf: Fix NULL pointer dereference when assigning memory msm: kgsl: Fix preemption fault handling for A6xx GPU mhi: controller: Enable L1 when mhi is not active mhi: controller: qcom: Enable MHI register write offload support input: qcom-hv-haptics: add RC clock calibration for FIFO mode ARM: build correct dtbs to append to zImage arch: arm: generalise ARCH_QCOM platform mach-qcom: add support to populate dt nodes for 32-bit platforms sched/walt: Remove fixup_walt_sched_stats sched_class method sched: walt: Remove CFS_BANDWIDTH support in WALT sched/walt: remove references to unused sched_disable_window_stats sched: fair: Improve the Scheduler arm64: defconfig: Enable debugfs for QMP on perf build msm: kgsl: Check for an OPP table without accidentally creating one msm: adsprpc : Change to resolve undefined behaviour clk: qcom: gcc-holi: Add GCC support for HOLI dt-bindings: clk: gcc: Remove vsensor clock ID for Holi tmc-etr: Add ETR status check in usb_notifier mhi: core: Add support to re-try requesting firmware image uapi: sound: remove redundant QGKI config checks Revert "ASoC: msm: fix integer overflow for long duration offload playback" Revert "ALSA: uapi: add new macro SNDRV_AUDIO_QGKI" cnss2: Clear host driver ops if register driver gets killed msm: kgsl: Add check not to decrement refcount when debug_fs is disabled haven: dbl: Make hh_dbl_ functions wait for capid availability neuron: ch_haven: Move msgq init to sync thread haven: dbl: Support registration before dbl probe, resource population haven: dbl: Initialize cap ids to HH_CAPID_INVAL soc: qcom: guestvm loader enhancements haven: rm: Add support to get hypervisor resources mhi: core: block low power modes only in mission mode mhi: core: use internal sequence numbers for timesync doorbells mhi: core: enable doorbell method for time synchronization msm: kgsl: Allow compatible string matching for gpu devices msm: kgsl: Remove legacy platform probe table hvc: haven: Move CONSOLE_OPEN before hvc_instantiate drivers: lpm-levels: use correct CPUHP notifications for QoS msm: gsi: Add support for EV RP DDR access feature sched: rt: print sched_rt_runtime during throttling wigig_sensing: add SPI profiling wigig_sensing: make equal sized SPI transactions wigig_sensing: fix driver state machine wigig_sensing: change change_mode ioctl signature wigig_sensing: fix usage of wait_event_interruptible_timeout() cpufreq: qcom: Add sysfs to reflect the limit frequency cnss2: Add code to pick hang data offset based on deviceID soc: qcom: Add RPM SMD Driver soc: qcom: eud: Define dummy set_temios and get_mctrl callbacks lib: spinlock: Cause a watchdog bite on spin_dump mmc: sdhci-msm: Port fixes from previous qcom SoCs to Lahaina soc: qcom: spss_utils: Modify memory unmapping scheme for cmac_mem soc: qcom: spss_utils: Port IAR spss_utils code to Lahaina spi: spi-msm-geni: Convert IB vote into KHz unit defconfig: Disable CTI save function on perf build for lahaina input: misc: qcom-hv-haptics: Add support to play custom waveform spmi: spmi-pmic-arb: add debugfs support for address mapping arm64: defconfig: Enable Haven ctrl for Lahaina arm64: defconfig: Enable Haven ctrl on genericarmv8 haven: add sysfs and debug interfaces msm: kgsl: Modify the UCHE_PF_CLIENT logic dwc3-msm: Check EUD based spoof disconnect state on resume msm: adsprpc: split init process function into smaller methods defconfig: lahaina: Enable DMA_CONFIGURE_ALIGNMENT iommu/iova: Support disabling domain iova alignment platform : msm-geni-se: fix voting unit for bus bandwidth smcinvoke: Port smcinvoke driver changes cfg80211: More error messages for key addition failures usb: dwc3: Do not process request if HWO is set for its TRB mhi: dev: netdev: inherit IPC log level from controller mhi: dev: uci: inherit IPC log level from controller arm64: defconfig: Enable SPS driver for Lahaina soc: qcom: pmic_glink: add protection domain restart (PDR) support haven: rm: Update dt parsing to match Haven-supplied nodes msm: kgsl: Add GMU registers to the A660 snapshot firmware: qcom: add encrypted tz and qsee log support msm: kgsl: Increase the size of the snapshot for A660 haven: display: add IRQ label for display haven: display: add display notify tag for memory sharing arm64: defconfig: Enable CONFIG_HH_MEM_NOTIFIER haven: Introduce a memory sharing notification framework cnss2: Update WLFW QMI messages to latest cnss2: Fix a issue for WLFW QMI files soc: qcom: spcom: enable config spcom as DLKM for GKI cnss2: Add platform driver code to handle hang event data soc: qcom: service-locator: update types in get_service_location() tmc-etr: Check if it is mode switch action during disable etr cnss2: Add SRAM dump in pci dump collection cnss2: Skip link down recovery if link has been recovered by retry cnss2: Update WLFW QMI host cap message cnss2: Add support to send host SMMU IOVA range to firmware neuron: block_client: Wait for channel to init usb: gsi: Add NULL pointer check dwc3-msm: Skip querying speed and cc_state with EUD extcon device haven: Align APIs and structures to account for the mem_info tag usb: gsi: Allocate strings IDs for functions on every bind usb: f_gsi: Don't enable IPA data path if connect channel fails usb: f_gsi: Avoid gsi ep operations if run/stop is cleared usb: f_gsi: Add error checking for PREPARE_TRBS and STARTXFER ops clk: qcom: clk-alpha-pll: Add support for Agera print registers clk: qcom: clk-alpha-pll: Add support for Agera PLL clk: qcom: clk-alpha-pll: Add support for Legacy FSM Mode wigig_sensing: print burst size msm: kgsl: Add CP_APRIV_CNTL and CP_SMMU_STREAM_ID regs to snapshot mhi: core: Prevent MHI reg read upon endpoint crash clk: qcom: lahaina: Fix stuck-off warnings during probe input: touchscreen: focaltech_touch: Configure power supply neuron: block_client: Fix init loop soc: qcom: qmi: Return EPROBE_DEFER if no address family platform: msm: allow external display registration from kernel module mhi: core: Make sure reg_write_q stores visible to other cores msm: kgsl: Fix snapshot collection after preempt trigger failure msm: kgsl: Add support for A619 GPU msm: cvp: Avoid dereferencing dangling pointer arm64: defconfig: Add support for torture tests on Lahaina msm: adsprpc: initialize async job member of context structure haven: irq_lend: Use Linux IRQ numbers msm: cvp: Support DSP to CPU reverse rpmsg drivers: qmi_sensor: Add support for mmw ADC thermistors dt-bindings: thermal: Add support for mmw ADC thermistors HID: qvr: Adding numerator and denominator to sensor data drivers: thermal: Add support for CDSP cooling devices via qmi cdev msm: kgsl: Add a requeue list for unprocessed dispatcher jobs msm: kgsl: Get resource address from cmd-db driver soc: qcom: socinfo: Add soc information for Holi dt-bindings: clock: Add support for clock ids for HOLI iommu/arm-smmu: Fix transaction flags in qsmmuv500_iova_to_phys wigig_sensing: do not deassert DRI on Data Ready DRI wigig_sensing: enable data read in non-burst sizes wigig_sensing: handle SYS_ASSERT corner cases wigig_sensing: relax state machine restrictions wigig_sensing: enforce data read in multiple of burst size wigig_sensing: make sys-assert DRI priority higher wigig_sensing: make change_mode ioctl more robust wigig_sensing: return error code after change_mode failure wigig_sensing: add support for asynchronous events msm: wigig_sensing: use 32 bit transactions for SPI block read wigig_sensing: add GET_NUM_AVAIL_BURSTS ioctl msm: wigig_sensing: initial commit of wigig_sensing SPI driver msm: cvp: Avoid out-of-bounds write mhi: core: Check for pm error state before asserting dev wake mhi: core: fix error handling in time synchronization function mhi: core: unconditionally trigger resume to assert device wake mhi: core: fix bandwidth scaling initialization failure mhi: core: ensure non-zero session or sequence ID values mhi: core: serialize execution environment and power off changes mhi: cntrl: qcom: enhance logging for forced suspend mhi: cntrl: qcom: remove boot monitor thread to use status cb mhi: cntrl: qcom: use RC driver APIs to toggle low power modes mhi: cntrl: qcom: allow printing large strings to IPC logs mhi: core: remove unused timesync device msm: synx: validate external callback service-locator: Start the locator service by default arm64: defconfig: Trim genericarmv8 defconfig arm64: defconfig: Add ftrace to genericarmv8 interconnect: qcom: lahaina: Change QUP vote_scale to 1 interconnect: qcom: Add support for per-BCM scaling factors interconnect: qcom: lahaina: Stop using initializer macros soc: qcom: Add support for early brought out subsystems soc: qcom: Refactor subsystem registration process msm: kgsl: Make the gpubw governor immutable msm: kgsl: Increase the SVM and non-SVM address space sched/fair: honor uclamp restrictions in fbt() clk: qcom: gcc-shima: Add support for GCC clock driver tcp: Reset tcp connections in SYN-SENT state arm64: defconfig: Insert Adreno default governor in gki defconfig arm64: defconfig: Enable touchscreen GKI on Lahaina qseecom: Invalidate the buffer after listener operation FROMLIST: power_supply: Add additional health properties to the header mhi: core: Add range check for channel id received in event ring msm: adsprpc: Add capibility API for HMX msm: kgsl: Enable Content Protection for A660 GPU driver: thermal: qmi_cdev: Add support for DSC mitigation ion: Ensure secure HLOS accessible buffers are zeroed when allocated trace: Add new trace event for DCVSH cpufreq: qcom: Add support to register for Limits Management interrupt pinctrl: qcom: Expose ufs_reset as gpio on shima scripts: headers_install: Add sigcontext.h into the bypass list soc: qcom: spcom: Provide retry mechanism for spss mmc: sdhci-msm: Avoid enable SD power if card is not present Revert "mmc: sdhci-msm: Avoid enable SD card power if card is removed" msm: ipa4: capture the unclock gsi IPA register access input: qcom-hv-haptics: store closed-loop brake settings into SDAM input: qcom-hv-haptics: limit play rate for PM8350B v1 hardware input: qcom-hv-haptics: update FIFO samples in IRQ thread ion: Forbid multi-VMID allocation requests for the secure system heap ion: Improve ION allocation paths msm: cvp: fixed cache operation func param issue msm: kgsl: Add a terminating empty entry to a660_protected_regs array defconfig: arm64: Enable msm_show_resume_irq for Lahaina irqchip: Declare the msm_show_resume_irq_mask in a header defconfig: arm64: Enable of_devlink proxy consumer for Lahaina soc: qcom: Add support for proxy consumers on of_devlink msm: kgsl: Don't populate the OPP table if it already exists dt-bindings: clock: Update clock IDs and BCRs of GCC for SHIMA ANDROID: serdev: restrict claim of platform devices phy: ufs: Add set_mode callback for RUMI UFS PHY driver mhi: core: add prints for votes and a debugfs vote entry mhi: core: assign controller name to own device mhi: core: provide an API to retrieve device failure reason mhi: core: add support for retrieving device failure reason mhi: core: Log dev wake count in mhi device get/put mhi: core: do not toggle PCIe low power mode in sleeping context mhi: core: Add OOB and DB mode event IPC log and count mhi: core: Handle RSC minimum credit requirement mhi: core: remove firmware loader worker thread mhi: core: check for special events at mission mode entry mhi: core: prioritize handling special purpose events mhi: core: Handle firmware load through state worker usb: gadget: composite: Support more than 500mA MaxPower sound: usb: Flush cache explicitly after mapping buffers usb: dwc3-msm: Revert back to power_supply_by_name() lookup sched: Improve the scheduler defconfig: Enable header tests for Lahaina GKI soc: qcom: hyp_core_ctl: Move the trace file to the local directory trace: Make ion.h work with KERNEL_HEADER_TEST includes: Make headers work with KERNEL_HEADER_TEST cnss2: Enable time sync feature for QCA6490 msm: kgsl: Modify CP_LPAC_PROG_FIFO_SIZE register value for A660 msm: adsprpc: retrieve table index directly from context ID sched: Improve the scheduler phy: ufs-qcom: Update offsets for Lahaina netfilter: Include alarm type timer in idletimer clk: qcom: clk-alpha-pll: Add support for Regera print registers clk: qcom: clk-alpha-pll: Add support for Regera PLL clk: qcom: clk-alpha-pll: Add support for Trion print registers clk: qcom: clk-alpha-pll: Add support for Trion PLL clk: qcom: gdsc-regulator: Add support for votable GDSCs msm: cvp: Re-classification of traces for CVP_DBG interconnect: qcom: lahaina: Use the correct binding for qnm_pcie input: qcom-hv-haptics: Add a property to specify FIFO empty threshold cnss2: Add SRAM mem dump for debug interconnect: qcom: lahaina: Enable the rest of the QoS ports msm: cvp: Fix NULL pointer error when DEBUG_FS is disabled msm: kgsl: Do not modify UCHE_CMDQ_CONFIG register for A660 clk: qcom: gdsc-regulator: remove explicit parent supply enablement Revert "BACKPORT: tracing: Remove unnecessary DEBUG_FS dependency" net: Indicate whether a socket is a transparent socket power: qti_battery_charger: Block PMIC GLINK Tx for debug battery dt-bindings: iio: Update PMIC5 ADC support defconfig: holi: Enable holi pinctrl pinctrl: qcom: Add support for Holi SoC pin control ASoC: compress: Avoid race condition in compress drain defconfig: Add initial defconfig fragments for Holi dt-bindings: clock: Update clock ids of GCC for SHIMA clk: qcom: clk-alpha-pll: Add support for Fabia print registers clk: qcom: clk-alpha-pll: Misc cleanup and fixes for PLLs um: x86_64: Remove the FRAME_WARN config option defconfig: arm64:Enable CDSPRM driver for Lahaina arm64: defconfig: Enable LLCC driver net: qrtr: Check for exisiting waiters Bluetooth: Add support to get chipset version from device tree memshare: Rectify sourcing memshare driver for compiling soc: qcom: add CDSP request manager regulator: qcom_pm8008: use private API for en_supply management power: supply: qti_battery_charger: add support to set fake SOC for battery soc: qcom: pmic_glink: Verify the message length haven: add stubs to haven client exposed APIs cnss2: Handle race between register driver and reboot properly haven: rm: Remove pr_err on get_vmid haven: rm: Add haven vIRQ lending library haven: rm: Add calls to relase/reclaim IRQs haven: rm: Allow IRQ lender to learn about the IRQ handle haven: rm: Update IRQ notify to expect standard reply haven: Clean up payload sizes haven: rm: Send requests atomically to RM haven: rm: Do not allow concurrent stream from RM haven: rm: Use local dt properites for RM capids hvc: haven: Update driver initialization to support console haven: Improve print statements haven: msgq: Update EMPTY/FULL signals haven: rm: Add HH_SELF_VM name irqchip: add snapshot of msm_show_resume_irq defconfig: Enable voltage cooling device for lahaina drivers: thermal: cpu_voltage: Add CPU voltage cooling device support tmc-etr: Remove the duplicated cti map regulator: qcom_pm8008: remove explicit parent supply management usb: xhci: Increase xhci halt timeout arm64: defconfig: Enable boot_stats driver for Lahaina msm: adsprpc: register wake-source clients during driver init interconnect: qcom: Fix the commit bit not getting set msm: synx: change kzalloc to vzalloc clk: qcom: clk-alpha-pll: Add support for Huayra print registers clk: qcom: clk-alpha-pll: Add support for Zonda print registers clk: qcom: clk-alpha-pll: Add support for Lucid PLL print registers msm: pcie: remove read to PCIe ELBI_SYS_CTRL reg after PME_TURNOFF msm: kgsl: Query xo resource addr from cmd-db driver power: supply: qti-battery-charger: Handle incorrect thermal levels kernel: hdcp_qseecom: Enable as gki module cnss2: Remove improper runtime PM enablement checks cnss2: Check driver link state before prevent/allow PCIe L1 power: supply: qti-battery-charger: Fix buffer handling in handle_message() msm: cvp: Avoid releasing buffers during boot msm: cvp: add cache operation control flag usb: dwc3-msm: Use PROP_INPUT_CURRENT_LIMIT to for vbus_draw iommu/arm-smmu: Add support to disable page-table coherency iommu/arm-smmu: Fix DOMAIN_ATTR_PAGE_TABLE_FORCE_COHERENT enablement defconfig: lahaina: Disable qbt_handler from QGKI config iio: adc: Add missing features in PMIC5 ADC Revert "ASoC: Update the widgets power up/down sequence" mm: slub: reinitialize random sequence cache on slab object update ion: Remove ION_HEAP_FLAG_DEFER_FREE for dynamic carveout heaps interconnect: qcom: Fix BW requests to L3_SHARED returning -EINVAL soc: qcom: msm_perf: fix invalid usuage of cpumask sched/fair: Improve the scheduler arm64: defconfig: define ARCH_LAHAINA for VM image to compile scsi: ufs-qcom: dump phy registers on error defconfig: lahaina-qgki: Enable QTI clk debugfs features for QGKI variant dt-bindings: interconnect: Update SLAVE_EPSS_L3_SHARED arm64: defconfig: Enable QRTR for genericarmv8 arm64: defconfig: Enable QRTR Haven for lahaina-gki AOSP change: Add fscrypt-provisioning to keyring usb: dwc3: Avoid resume_work flush in pm_suspend/pm_resume tty: hvc_haven: Use thread worker to send characters haven: rm: Clean VM Services - Console APIs arch: arm64: hh: Clobber x18 if SCS isn't enabled haven: hh_msgq: Let clients manage the buffers for hh_msgq_recv clk: qcom: rpmh: Add support for RPMH clocks for Shima drivers: llcc: Add LLCC driver for Shima cnss2: update firmware name for QCA6490 rev.2.0 drm/msm: make msm_drm.h uapi header safe for C++ arm64: kconfig: Add initial platform for Holi msm_geni_serial_console: Make early console depend on kernel console serial: msm_geni_serial: Use IS_ENABLED() instead of ifdef CONFIG msm: pcie: fix user info in client's event callback dwc3: Handle USB spoof disconnect when EUD is enabled msm: kgsl: Restrict gpu governors to gpu devfreq devices msm: cvp: Validate buffer config in HFI packet msm: ipa4: flow control changes for rmnet pipe drivers: soc: qti: Fix data type for uapi header msm: kgsl: Check the return value of regulator_enable msm: kgsl: Set the I/O coherent feature earlier drivers: cpuidle: lpm-levels: initialize latency to default i2c: i2c-msm-geni: Add support in I2C driver for Trusted VM memory_dump: Correct the copyright year leds: qti-flash: Update camera flash client interface options regulator: qpnp-amoled: Add set_load() callback for IBB regulator dt-bindings: clk: Remove unused cpuss clocks for Lahaina clk: qcom: gcc-lahaina: Remove unused cpuss clocks uapi: Fix more headers to work with UAPI_HEADER_TEST includes: Fix more headers to work with KERNEL_HEADER_TEST Revert "SoC: soc-core: export function to find components" msm: cvp: Optimize synX handling in cvp driver cnss2: Ignore ramdump init failure usb: gadget: Add super speed plus desc for midi function defconfig: lahaina: enable the fastrpc QGKI config option ALSA: core: set private data for snd_info_entry haven: Fix buffer calculations for MEM_SHARE and MEM_LEND haven: Fix NULL pointer dereference in hh_rm_populate_mem_attr_desc() Fix GKI compilation for inline encryption modules soc: qcom: altmode-glink: add SSR support power: supply: qti_battery_charger: add SSR support ucsi: ucsi_glink: add SSR support soc: qcom: pmic_glink: add subsystem restart (SSR) support soc: qcom: pmic_glink: rename callback function pointer msm: cvp: avoid checking read_idx again mem-buf: Replace *_TRUSTED_UI with *_TRUSTED_VM soc: qcom: secure_buffer: Remove support for VMID_TRUSTED_UI soc: qcom: mem-buf: Do not assume VMID values ion: Add support for dynamically assigned VMIDs haven: hh_msgq: Let clients manage the buffers for hh_msgq_send haven: msgq: Make the send/recv wait if the cap-id is not ready soc: qcom: mem-buf: Do not print errors on probe deferrals soc: qcom: rpmh_master_stat: Add island stats support input: touchscreen: st: enable aoi_set msm: pcie: update suppressible clock info usb: dwc3: Add tuning support for Gen2 Tx compliance parameters net: qrtr: Add haven transport kernel:hdcp_qseecom:Enable hdcp_qseecom on Lahaina msm: kgsl: Setup UCHE_CMDQ_CONFIG register for A660 crypto: msm: restrict value of num_fds to QCEDEV_MAX_BUFFERS usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset() i2c: i2c-msm-geni: Return correct error code if registration fail phy: ufs: Return error if UFS PHY reset control is not provided on RUMI smcinvoke: Return proper error in process_accept_req msm: adsprpc: store process specific info in GETINFO ioctl call iommu/arm-smmu: Record page table configuration in debug structures haven: Include notifer header file usb: gadget: qdss: Add NULL check against priv_usb with usb_qdss_close() soc: qcom: eud: Fix the power supply information msm: pcie: add PCIe GDSC disable/enable for DRV suspend/resume msm: pcie: remove aggregation of PCIe rate change clock vote msm: pcie: switch pipe clk mux source to XO before disabling GDSC msm: adsprpc: remove DMA coherency attributes in fastrpc driver msm: cvp: Reverse cvp gdsc and cbcr ctrl sequence iommu: iommu-debug: Fix input IOVA usage in atos_write() arm64: defconfig: Enable I2C and SPI dev files in lahaina arm64: defconfig: Enable Buses configs for trusted VM msm: adsprpc: Handle hyp assign errors properly for dsp msm: adsprpc: Fix for correct offset calculation usb: gadget: Reset string ids upon unbind arm64: defconfig: Enable neuron for genericarmv8 arm64: defconfig: Enable neuron for lahaina net: Add Neuron Framework phy: ufs: Update UFS PHY settings for Lahaina msm: cvp: Relocate CVP DSP interface init BACKPORT: extcon: Mark extcon_get_edev_name() function as exported symbol haven: Convert the cap entry locks to spinlocks usb: phy: Keep regulators on in probe if EUD is enabled icc: dt-bindings: add endpoint IDs for interconnects for SHIMA icc: dt-bindings: add endpoint IDs for interconnects for HOLI arm: defconfig: Enable Slimbus and QUPv3 drivers as modules on Lahaina haven: msgq: Initialize the cap-id with U64_MAX Revert "cnss2: Add support for bus bandwidth scale" coresight: Add spin_lock_init for funnel and replicator cnss2: Make sure PCIe link is in L0 state before updating time sync tty: msm_geni: Do not place msm_geni_console_setup under __init interconnect: qcom: Set QoS on the first bandwidth request msm: ADSPRPC: Embed job type in context identifier clk: qcom: gcc-lahaina: Keep ice core memory retained across gdsc collapse drivers: of-thermal: Handle krealloc failure correctly arm64: defconfig: Enable media and UVC drivers on Lahaina msm: adsprpc: Adding inrout buffer cache maintenance support serial: msm_geni_serial: Separate earlyconsole functionality defconfig: Enable mem_dump driver on gki build for lahaina soc: memory_dump: Add moudle support for mem_dump driver msm: sps: Fix the SPS_DBG macro definitions HID: qvr: Removing axis orientation arm64: defconfig: Add support for LKDTM on Lahaina soc: qcom: Log the pending interrupts during the device resume pinctrl: qcom: Add GPIO wakeup interrupt map for Shima drivers: irqchip: qcom-pdc: Add PDC IRQ chip support for shima coresight: cti: Correct checking return value of device resume msm: kgsl: Retry setting the SMMU aperture on A6XX targets mhi: core: create sysfs nodes before devices mhi: core: Add support to create uncached event ring mhi: core: Cache last processed event ring element mhi: core: move non-essential errors to log messages scsi: ufs-qti: Enable block layer runtime PM for well-known logical units msm: pcie: use a local copy for PCIe event callback msm: pcie: validate speed switch request msm: pcie: correct cached PCIe link BW max gen speed sched: walt: Improve the Scheduler clk: qcom: gdsc-regulator: Remove regulator voltage level voting msm: ipa4: new qmap flow control pipe definitions msm: ipa4: function prototype for new qmap flow control defconfig: Support for QTI inline encryption soc: qcom: add HWKM driver for FBE ufs: ice: add variant ops for ICE power: supply: qti_battery_charger: Allow ICL to be set only for SDP mhi: core: Force PM state to M0 while processing BW scaling event msm: kgsl: Scale hub clock to 150 Mhz msm: kgsl: LPAC is using incorrect pagetable ANDROID: selinux: modify RTM_GETLINK permission msm: kgsl: Don't send same bus vote repeatedly drivers: input: touchscreen: defer probe if panel not found mhi: core: Add range check for channel id received in event ring msm: pcie: correct PCIe1 and PCIe2 clock order mhi: core: Finish pending reg writes before entering suspend mhi: core: Add support to offload MHI register write to worker thread mhi: core: Add write_reg call back for mhi controller mhi: core: Treat MHI_ASSERT as fatal error defconfig: arm64: Enable EUD driver for GKI cnss2: Avoid blocking target to reboot or shutdown arm64: defconfig: Enable QVR HID driver on Lahaina HID: Adding new id for hid-qvr support HID: Adding new vendor id for QVR support arm64: defconfig: Enable hung tasks detection hung task: check specific tasks for long uninterruptible sleep state staging: ion: Allow for attach and detach ops to be overridden mhi: core: Read transfer length from an event properly mhi: core: Dump more logs when invalid cookie is received mhi: core: Skip handling MSI0 if MHI register access is not allowed mhi: core: handle pm error state transition within fast suspend/resume mhi: cntrl: qcom: notify DRV suspend if device wake is set mhi: device: netdev: Add flag to track napi scheduling mhi: core: fix fast forward recycling of event rings mhi: cntrl: qcom: disable boot logger after forced suspend bus: mhi_netdev: Free background memory pool during memory free mhi: core: Add NULL check in debugfs show callback mhi: core: Synchronize time sync operation and removal msm: cvp: A fix of cvp issue in camera dwc3-msm: Check usb role switch status msm: kgsl: use correct load bit value for rbbm perf counter interconnect: qcom: Don't vote using unrelated voters in sync_state FROMGIT: BACKPORT: driver core: Add device links from fwnode only for the primary device defconfig: lahaina: Enable PRIORITIZE_OOM_TASKS msm: ipa: remove ipa and gsi from kernel regulator: qpnp-lcdb: Replace revid checks with DT compatible properties firmware: qcom_scm: Fix the __qcom_scm_is_call_available Do not use __qcom_scm_is_call_available in atomic context soc: qcom: spcom: return EINTR on wait interrupted soc: qcom: spcom: fix pr_err() missing "name" parameter devfreq: update sampling window timer limit devfreq: update sample_ms tunnable store function cnss2: Add support for bus bandwidth scale radio: RTC6226: correctly cleanup videodev input: misc: qcom-hv-haptics: Add support for V2 HW module arm64: defconfig: Enable QCOM_MEM_BUF on genericarmv8-64 soc: qcom: kconfig: Relax QCOM_MEM_BUF dependencies arm64: defconfig: Enable memory configs on genericarmv8-64 mmc: sdhci-msm: Avoid enable SD card power if card is removed mmc: sdhci-msm: Port the SD card code to Lahaina platforms arm64: defconfig: Enable memory hotplug configs on genericarmv8-64 mm/Kconfig: Remove dependency on QCOM_MEM_OFFLINE for movable zone defconfig: lahaina-gki: Enable interconnect debugfs test nodes cnss2: Add debugfs support to send WFC call status QMI message arm64: defconfig: Enable ZRAM on genericarmv8-64 arm64: defconfig: Enable CMA optimizations for genericarmv8-64 mm/Kconfig: Relax CMA optimization dependencies interconnect: Add debugfs test code cnss2: Serialize driver unload and idle restart msm: pcie: skip memory access when collecting PCIe PARF registers mm: correct ALLOC_WMARK_MIN flag check for atomic allocations mm: discard free cma pages in boost_eligible calculations mm: ignore boosting for min watermark mm: ignore the boosting of watermark under lowmemory mm: reap tasks only killed by low memory killer arm64: defconfig: Enable debugging support for spinlocks perf: Satisfy the kernel's request to request PMU counters soc: qcom: socinfo: Add soc information for Shima interconnect: Add interconnect_graph file to debugfs arm64: defconfig: Enable BFQ io scheduler on lahaina soc: qcom: spcom: allow commands for not connected channel input: qcom-hv-haptics: Add a regulator device to control SWR slave power: supply: qti-battery-charger: Initialize pmic_glink_client_data arm: defconfig: Disable serial device bus msm: adsprpc: increase max number of concurrent remote sessions FROMGIT: driver core: Call sync_state() even if supplier has no consumers sched: Add support to spread tasks kernel_headers: Add msm_hdmi_hdcp_mgr.h header iommu/arm-smmu: Add implementation specific device group matching iommu/arm-smmu: Add support for implementation specific removal iommu/arm-smmu: Add support for implementation specific debugging iommu/arm-smmu: Add implementation specific CB initialization hook iommu/arm-smmu: Rework QSMMUV500 initialization iommu/arm-smmu: Prepare to migrate QSMMUV500 implementation details defconfig: enable QRNG as a GKI module soc: qcom: hyp_core_ctl: Add frequency QoS support msm: ADSPRPC: Awake PM with a timeout arm64: defconfig: Enable Atmel touchscreen on Lahaina input: touchscreen: propagate changes from 4.14 to 5.4 for Atmel MXT driver haven: doorbell: Fix hh_dbl_send error print haven: doorbell: Pass cap_table_entry as irq private haven: doorbell: Add IRQF_ONESHOT flag sched/fair: Allow load bigger task load balance when nr_running is 2 ion: Fix to record NR_KERNEL_MISC_RECLAIMABLE in page units mm: oom_kill: Support further prioritization of OOM kills sched: Improve the scheduler sched/fair: reduce no-hz idle balance for energy aware systems defconfig: lahaina: Enable support for dma-coherent-hint-cached dma-mapping: add support for dma-coherent-hint-cached msm: adsprpc: Validate smmu device is created before using it defconfig: Disable fastrpc driver from kernel image drivers: lpm-levels: check for per-cpu dev PM QoS wil6210: Add support for 11ad platform driver qseecom: Proper handling of unmapping dmabuf scsi: ufs-qcom: Add one vendor specific sysfs group arm64: kpti: force off kpti arm64: defconfig: enable QPNP AMOLED regulator driver on Lahaina msm: cvp: Reduce CVP dmabuf mapping overhead PM / devfreq: memlat: fix suspend/resume calls to devfreq_monitor spmi: spmi-pmic-arb: make interrupt support optional spmi: spmi-pmic-arb: add support to map SPMI addresses to physical addr soc: qcom: msm_perf: add null policy checks for cpufreq policy defconfig: lahaina: Enable GPU driver msm: kgsl: Enable apb clock before isdb register writes msm: cvp: Disable CVP_DBG traces by default net: qrtr: mhi: Set mhi driver data before registering with qrtr msm: kgsl: Make OOB timeouts easier to debug msm: kgsl: Move ringbuffer start to target specific code msm: kgsl: Remove unneeded parameters for the sharedmem funcs msm: kgsl: Read snapshot registers in the target specific functions msm: kgsl: Remove references to adreno_regs from target specific code msm: kgsl: Remove soft fault registers from a5xx msm: kgsl: Print always on counters if HFI timed out msm: kgsl: Add a GMU core function to read the always on counter msm: kgsl: remove redundant check for usermem type msm: kgsl: fix accounting of memory mapped to userspace msm: kgsl: Dump GPU registers only when GX is ON msm: kgsl: Configure IFPC perf counter in platform_setup msm: kgsl: Fix conditional check for GMU_NONCACHED_USER msm: kgsl: Return correctly from gmu_core_dev_wait_for_lowest_idle msm: kgsl: Dump the always on counter for a6xx interrupts msm: kgsl: Properly handle attach error for secure pagetable msm: kgsl: Finish up probe cleanups msm: kgsl: Handle a defer from IOMMU msm: kgsl: Cleanup the adreno SOC HW probe msm: kgsl: Move context aware scaling to the scaling code msm: kgsl: Use the GPU platform device when it is appropriate msm: kgsl: Use booleans for power control features msm: kgsl: Fixup the GMU probe msm: kgsl: Fixup the RGMU probe msm: kgsl: Move hw_isidle to target specific code msm: kgsl: Clean up the reset and soft reset paths interconnect: qcom: Support bcm-voter-specific TCS wait behavior interconnect: qcom: Don't redefine bucket/tag macros dt-bindings: interconnect: Add generic qcom bindings leds: qpnp: Add snapshot of vibrator LDO driver arm64: defconfig: Enable QTI_IOMMU_SUPPORT only on target configurations iommu: arm-smmu: Fix domain logger use-after-free scsi: ufs-qcom: Configure LPM timer settings dwc3-msm: Increment req->num_trbs on queueing TRB trace: Add warning threshold for irqsoff time trace: Toggle irqsoff tracing to dmesg msm: kgsl: Update the GMU AO clockgating value sched: remove weak keyword from function declarations power_supply: Register cooling device outside of probe defconfig: arm64: Enable dummy netdevice regulator: Add QTI LCDB regulator driver radio: RTC6226: post tune success event when scan done rtc-pm8xxx: Clear Alarm register on resume slimbus: Add changes to make slimbus GKI compliant msm: cvp: Restructure CVP buffer management leds: qti-flash: Add support for on_time and off_time parameters sched/fair: Change PELT half-life to 8ms msm: kgsl: Fix to record NR_KERNEL_MISC_RECLAIMABLE in page units Perf: arm64: Add Snapshot of perf tracepoints arm: defconfig: Enable STM_PROTO_BASIC for lahaina platform: msm: Add snapshot of msm_11ad driver defconfig: lahaina-qgki: enable qoslat driver usb: phy: qmp: Perform DP_COM_SW_RESET during portselect usb: gadget: f_diag: Expose DLOAD pid/serial entries to configfs clk: qcom: clk-debug: List regs only if respective clk is qcom-regmap clk clk: qcom: Maintain qcom_regmap_list of qcom clks arm64: defconfig: Enable QRTR MHI on lahaina_gki arm64: defconfig: Enable IPC logging driver for lahaina_qgki arm64: defconfig: select CONFIG_USB_CONFIGFS_NCM on Lahaina coresight-tmc-etr : Call _tmc_disable_etr_sink when switch mode memshare: Use QMI request structure size as decode buffer size msm: ipa3: Updating SRAM locations for lito clk: qcom: lahaina: Add sync_state callbacks clk: qcom: Add generic sync_state callback interconnect: qcom: Fix uninitialized tcs_cmd::wait haven: doorbell: Add neuron and qrtr labels msm: kgsl: Fix GPU UBWC setting for DDR 5 cnss2: Assert if cold boot calibration times out in debug builds msm: kgsl: Do not send NMI to GMU on CM3 fault msm: pcie: replace all memory barriers with readbacks usb: gadget: Prevent use after free in qdss connect & close interconnect: qcom: Ignore -EBUSY for AMC requests defconfig: Enable LMH DCVS driver for lahaina driver: thermal: msm_lmh_dcvs: Add a snapshot of LMH DCVS driver scsi: ufs-qcom: Enable runtime auto suspend iommu: arm-smmu: fix check for need for preallocate memory ASoC: Update the Max value of integer controls mm: oom_kill: Prevent debug messages from going to serial console msm: kgsl: Add the list of protected registers for A660 msm: kgsl: Add the CP protected registers to the A660 list clk: qcom: clk-debug: Add mc_cc_debug_mux in gcc debug parent list iommu/arm-smmu: replicate faulty transaction iommu: arm-smmu: fix compile error if CONFIG_PCI disabled msm: kgsl: Restart a6xx gpu only once msm: kgsl: Correctly handle oob and fenced write failures msm: kgsl: Correctly handle gmu fault interrupts msm: kgsl: Correctly handle CP_INIT failure msm: kgsl: Take GMU snapshot on GMU failures msm: kgsl: Set gmu fault inside gmu_snapshot msm: kgsl: Handle the very first gmu boot failure ion: don't call free_buffer_page on failure of ion_hyp_unassign_sg ion: fix hyp_assign_sg failure handling usb: gsi: Dont mask read api for dpl_ctl node soc: qti_battery_debug: Add votables R/W support soc: qcom: ssr: Rename the module to 'subsystem_restart' drivers: thermal: bcl_soc: Read charge depletion percentage driver: thermal: bcl_pmic5: Register vbat only when enabled power_supply: Use of-thermal cdev registration API input: qcom-hv-haptics: ignore parsing non-effect subnodes Revert "BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series" msm: cvp: Support CVP session flush Revert "usb: gadget: Mark usb gsi driver dma memory as cached" usb: dwc3: gadget: update the return value of pullup function msm: pcie: lower event callback print prority cpuidle: lpm-levels: convert PSCI return value to boolean correctly soc: qcom: rpmh: remove serialization of TCS commands msm: kgsl: Program GPU SCID for UCHE traffic cnss_nl: Add new attributes for cld80211 attr list defconfig: arm64: Enable hyp core control driver for Lahaiana soc: qcom: Add snapshot of hyp_core_ctl driver virt/haven: populate VCPU resources haven: hcall: Add vcpu affinity API drivers: thermal: reintroduce notifier for max level transitions defconfig: lahaina: Enable QTI_PMIC_GLINK_CLIENT_DEBUG soc: Kconfig: Add QTI_PMIC_GLINK_CLIENT_DEBUG arm64: defconfig: Enable SD card on Lahaina power: supply: qti_battery_charger: add thermal mitigation support Linux 5.4.24 blktrace: Protect q->blk_trace with RCU kvm: nVMX: VMWRITE checks unsupported field before read-only field kvm: nVMX: VMWRITE checks VMCS-link pointer before VMCS field mm, thp: fix defrag setting if newline is not used mm/huge_memory.c: use head to check huge zero page mm/gup: allow FOLL_FORCE for get_user_pages_fast() mm/debug.c: always print flags in dump_page() locking/lockdep: Fix lockdep_stats indentation problem xfs: clear kernel only flags in XFS_IOC_ATTRMULTI_BY_HANDLE bus: tegra-aconnect: Remove PM_CLK dependency netfilter: nf_flowtable: fix documentation netfilter: nft_tunnel: no need to call htons() when dumping ports thermal: brcmstb_thermal: Do not use DT coefficients thermal: db8500: Depromote debug print ubifs: Fix ino_t format warnings in orphan_delete() rcu: Allow only one expedited GP to run concurrently with wakeups KVM: x86: Remove spurious clearing of async #PF MSR KVM: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path x86/resctrl: Check monitoring static key in the MBM overflow handler perf ui gtk: Add missing zalloc object perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc pwm: omap-dmtimer: put_device() after of_find_device_by_node() lib/vdso: Update coarse timekeeper unconditionally lib/vdso: Make __arch_update_vdso_data() logic understandable kprobes: Set unoptimized flag after unoptimizing code ima: ima/lsm policy rule loading logic bug fixes drivers: net: xgene: Fix the order of the arguments of 'alloc_etherdev_mqs()' RDMA/hns: Bugfix for posting a wqe with sge RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs f2fs: fix to add swap extent correctly sched/fair: Optimize select_idle_cpu KVM: Check for a bad hva before dropping into the ghc slow path KVM: SVM: Override default MMIO mask if memory encryption is enabled mwifiex: delete unused mwifiex_get_intf_num() mwifiex: drop most magic numbers from mwifiex_process_tdls_action_frame() namei: only return -ECHILD from follow_dotdot_rcu() kbuild: make single target builds even faster kbuild: remove unneeded variable, single-all kbuild: move headers_check rule to usr/include/Makefile kbuild: remove header compile test selftests: Install settings files to fix TIMEOUT failures net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE net/smc: no peer ID in CLC decline for SMCD net: atlantic: fix out of range usage of active_vlans array net: atlantic: fix potential error handling net: atlantic: fix use after free kasan warn net: netlink: cap max groups which will be considered in netlink_bind() s390/qeth: vnicc Fix EOPNOTSUPP precedence nvme-pci: Hold cq_poll_lock while completing CQEs usb: charger: assign specific number for enum value hv_netvsc: Fix unwanted wakeup in netvsc_attach() kbuild: fix DT binding schema rule to detect command line changes mac80211: Remove a redundant mutex unlock nl80211: fix potential leak in AP start drm/i915/gvt: Separate display reset from ALL_ENGINES reset drm/i915/gvt: Fix orphan vgpu dmabuf_objs' lifetime i2c: jz4780: silence log flood on txabrt i2c: altera: Fix potential integer overflow MIPS: VPE: Fix a double free and a memory leak in 'release_vpe()' HID: hiddev: Fix race in in hiddev_disconnect() HID: alps: Fix an error handling path in 'alps_input_configured()' netfilter: xt_hashlimit: reduce hashlimit_mutex scope for htable_put() netfilter: ipset: Fix forceadd evaluation path vhost: Check docket sk_family instead of call getname net/smc: transfer fasync_list in case of fallback netfilter: ipset: Fix "INFO: rcu detected stall in hash_xxx" reports io_uring: fix 32-bit compatability with sendmsg/recvmsg cpufreq: Fix policy initialization for internal governor drivers amdgpu/gmc_v9: save/restore sdpif regs during S3 Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs" tracing: Disable trace_printk() on post poned tests macintosh: therm_windtunnel: fix regression when instantiating devices drm/radeon: Inline drm_get_pci_dev drm/amdgpu: Drop DRIVER_USE_AGP HID: core: increase HID report buffer size to 8KiB HID: core: fix off-by-one memset in hid_report_raw_event() HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock KVM: VMX: check descriptor table exits on instruction emulation ACPI: watchdog: Fix gas->access_width usage ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro audit: always check the netlink payload length in audit_receive_msg() audit: fix error handling in audit_data_to_entry() ext4: potential crash on allocation error in ext4_alloc_flex_bg_array() nvme/pci: move cqe check after device shutdown nvme: prevent warning triggered by nvme_stop_keep_alive nvme/tcp: fix bug on double requeue when send fails net: hns3: fix a copying IPv6 address error in hclge_fd_get_flow_tuples() net: hns3: add management table after IMP reset mac80211: fix wrong 160/80+80 MHz setting cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE cifs: Fix mode output in debugging statements ice: update Unit Load Status bitmask to check after reset net: ena: ena-com.c: prevent NULL pointer dereference net: ena: ethtool: use correct value for crc32 hash net: ena: fix corruption of dev_idx_to_host_tbl net: ena: fix incorrectly saving queue numbers when setting RSS indirection table net: ena: rss: store hash function as values and not bits net: ena: rss: fix failure to get indirection table net: ena: rss: do not allocate key when not supported net: ena: fix incorrect default RSS key net: ena: add missing ethtool TX timestamping indication net: ena: fix uses of round_jiffies() net: ena: fix potential crash when rxfh key is NULL i40e: Fix the conditional for i40e_vc_validate_vqs_bitmaps soc/tegra: fuse: Fix build with Tegra194 configuration amdgpu: Prevent build errors regarding soft/hard-float FP ABI tags drm/amd/display: Add initialitions for PLL2 clock source drm/amd/display: Limit minimum DPPCLK to 100MHz. drm/amd/display: Check engine is not NULL before acquiring RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready() drm/amd/display: Do not set optimized_require to false after plane disable ARM: dts: sti: fixup sound frame-inversion for stihxxx-b2120.dtsi ceph: do not execute direct write in parallel if O_APPEND is specified perf/x86/msr: Add Tremont support perf/x86/cstate: Add Tremont support perf/x86/intel: Add Elkhart Lake support perf/smmuv3: Use platform_get_irq_optional() for wired interrupt NFSv4: Fix races between open and dentry revalidation qmi_wwan: unconditionally reject 2 ep interfaces qmi_wwan: re-add DW5821e pre-production variant s390/zcrypt: fix card and queue total counter wrap cfg80211: check wiphy driver existence for drvinfo report mac80211: consider more elements in parsing CRC dax: pass NOWAIT flag to iomap_apply sched/fair: Prevent unlimited runtime on throttled group timers/nohz: Update NOHZ load in remote tick sched/core: Don't skip remote tick for idle CPUs drm/msm: Set dma maximum segment size for mdss ipmi:ssif: Handle a possible NULL pointer reference ipv6: Fix nlmsg_flags when splitting a multipath route ipv6: Fix route replacement with dev-only route bonding: fix lockdep warning in bond_get_stats() net: export netdev_next_lower_dev_rcu() bonding: add missing netdev_update_lockdep_key() bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs. bnxt_en: Improve device shutdown method. sctp: move the format error check out of __sctp_sf_do_9_1_abort udp: rehash on disconnect Revert "net: dev: introduce support for sch BYPASS for lockless qdisc" qede: Fix race between rdma destroy workqueue and link change event nfc: pn544: Fix occasional HW initialization failure net/tls: Fix to avoid gettig invalid tls record net: sched: correct flower port blocking net: phy: restore mdio regs in the iproc mdio driver net: mscc: fix in frame extraction net: macb: ensure interface is not suspended on at91rm9200 net: fib_rules: Correctly set table field when table number exceeds 8 bits net: dsa: b53: Ensure the default VID is untagged EDAC: skx_common: downgrade message importance on missing PCI device io_uring: grab ->fs as part of async offload NFC: Add timeout when waiting for responses in probe ABI: aarch64: Update the ABI snapshot msm: kgsl: Move event groups to the KGSL device msm: kgsl: Make interrupt handlers more target specific msm: kgsl: Move the legacy speed bin code to adreno msm: kgsl: Get the lm_slope on demand msm: kgsl: Get rid of mmu_init msm: kgsl: Initialize the default pagetables at probe time msm: kgsl: Probe LLCC before setting up MMU msm: kgsl: Refactor IOMMU register macros msm: kgsl: Simplify the mmu probe msm: kgsl: Fix up the MMU features msm: kgsl: Map globals in the LPAC pagetable too msm: kgsl: Only add OPP levels to the device once msm: kgsl: Add MODULE_SOFTDEP dependencies dt-bindings: thermal_qti: Add thermal devicetree Macro ANDROID: abi_gki_aarch64_whitelist: add module_layout and task_struct ANDROID: gki_defconfig: disable KPROBES, update ABI usb: gadget: Stall OS descriptor request for unsupported functions FROMGIT: scsi: ufs: Select INITIAL ADAPT type for HS Gear4 FROMLIST: scsi: ufs: Use ufshcd_config_pwr_mode() when scale gear FROMGIT: scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices FROMGIT: scsi: ufs: Allow vendor device quirks to be applied early BACKPORT: scsi: ufs: Delete struct ufs_dev_desc msm: pcie: add proper PCIe link state for linkdown msm: pcie: add logs for link bandwidth switching ANDROID: gki_defconfig: enable IOMMU_LIMIT_IOVA_ALIGNMENT FROMLIST: iommu/iova: Support limiting IOVA alignment FROMLIST: iommu/iova: Add a best-fit algorithm FROMLIST: iommu/dma: Allow drivers to reserve an iova range ANDROID: Unconditionally create bridge tracepoints ANDROID: gki_defconfig: Enable MFD_SYSCON on x86 ANDROID: update ABI for CONFIG_IIO_* changes ANDROID: gki_defconfig: add CONFIG_IIO_BUFFER and CONFIG_IIO_TRIGGER ANDROID: gki: set CONFIG_SERIAL_SPRD_CONSOLE for earlycon ANDROID: Re-add default y for VIRTIO_PCI_LEGACY ANDROID: GKI: build in HVC_DRIVER ANDROID: Removed default m for virtual sw crypto device ANDROID: Remove default y on BRIDGE_IGMP_SNOOPING ANDROID: GKI: Added missing SND configs ANDROID: scsi: ufs: allow ufs variants to override sg entry size msm: ipa: Update source and dest resource group config values ANDROID: GKI: Remove CONFIG_BRIDGE from arm64 config ANDROID: Enable HID_NINTENDO as y FROMLIST: HID: nintendo: add nintendo switch controller driver UPSTREAM: iommu/arm-smmu: Restore naming of driver parameter prefix cpuidle: lpm-levels: Print enabled clocks, regulators on cpu/cluster LPM clk: Print enabled clock tree when cpu/cluster enters LPM level ANDROID: gki_defconfig: Remove 'BRIDGE_NETFILTER is not set' UPSTREAM: net: disable BRIDGE_NETFILTER by default Linux 5.4.23 ASoC: SOF: Intel: hda: Add iDisp4 DAI bpf: Selftests build error in sockmap_basic.c s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range s390/kaslr: Fix casts in get_random net/mlx5e: Fix crash in recovery flow without devlink reporter net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY xen: Enable interrupts when calling _cond_resched() ata: ahci: Add shutdown to freeze hardware resources of ahci io_uring: prevent sq_thread from spinning when it should stop rxrpc: Fix call RCU cleanup using non-bh-safe locks netfilter: xt_hashlimit: limit the max size of hashtable ALSA: seq: Fix concurrent access to queue current tick/time ALSA: seq: Avoid concurrent access to queue flags ALSA: rawmidi: Avoid bit fields for state flags io_uring: fix __io_iopoll_check deadlock in io_sq_thread arm64: lse: Fix LSE atomics with LLVM bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill genirq/proc: Reject invalid affinity masks (again) crypto: rename sm3-256 to sm3 in hash_algo_name iommu/vt-d: Fix compile warning from intel-svm.h ecryptfs: replace BUG_ON with error handling code ASoC: fsl_sai: Fix exiting path on probing failure ASoC: atmel: fix atmel_ssc_set_audio link failure staging: greybus: use after free in gb_audio_manager_remove_all() staging: rtl8723bs: fix copy of overlapping memory usb: dwc2: Fix in ISOC request length checking usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session" scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout" drm/msm/dpu: fix BGR565 vs RGB565 confusion drm/i915/gt: Protect defer_request() from new waiters drm/bridge: tc358767: fix poll timeouts drm/i915/gvt: more locking for ppgtt mm LRU list drm/i915/execlists: Always force a context reload when rewinding RING_TAIL drm/i915/gt: Detect if we miss WaIdleLiteRestore Revert "dmaengine: imx-sdma: Fix memory leak" Btrfs: fix deadlock during fast fsync when logging prealloc extents beyond eof btrfs: don't set path->leave_spinning for truncate Btrfs: fix race between shrinking truncate and fiemap Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents btrfs: do not check delayed items are empty for single transaction cleanup btrfs: reset fs_root to NULL on error in open_ctree btrfs: fix bytes_may_use underflow in prealloc error condtition btrfs: destroy qgroup extent records on transaction abort KVM: apic: avoid calculating pending eoi from an uninitialized val KVM: nVMX: handle nested posted interrupts when apicv is disabled for L1 KVM: nVMX: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled KVM: nVMX: Check IO instruction VM-exit conditions KVM: nVMX: Refactor IO bitmap checks into helper function ext4: fix race between writepages and enabling EXT4_EXTENTS_FL ext4: rename s_journal_flag_rwsem to s_writepages_rwsem ext4: fix mount failure with quota configured as module ext4: fix potential race between s_flex_groups online resizing and access ext4: fix potential race between s_group_info online resizing and access ext4: fix potential race between online resizing and write operations ext4: add cond_resched() to __ext4_find_entry() ext4: fix a data race in EXT4_I(inode)->i_disksize KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI KVM: nVMX: Don't emulate instructions in guest mode sched/psi: Fix OOB write when writing 0 bytes to PSI files drm/i915: Update drm/i915 bug filing URL drm/i915: Wean off drm_pci_alloc/drm_pci_free drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets drm/amdgpu/gfx10: disable gfxoff when reading rlc clock drm/amdgpu/gfx9: disable gfxoff when reading rlc clock drm/amdgpu/soc15: fix xclk for raven mm: Avoid creating virtual address aliases in brk()/mmap()/mremap() lib/stackdepot.c: fix global out-of-bounds in stack_slabs mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM mm/vmscan.c: don't round up scan size for online memory cgroup genirq/irqdomain: Make sure all irq domain flags are distinct nvme-multipath: Fix memory leak with ana_log_buf mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps() Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()" ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake() MAINTAINERS: Update drm/i915 bug filing URL serdev: ttyport: restore client ops on deregistration tty: serial: qcom_geni_serial: Fix RX cancel command failure tty: serial: imx: setup the correct sg entry for tx dma tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode serial: 8250: Check UPF_IRQ_SHARED in advance x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF x86/mce/amd: Fix kobject lifetime x86/mce/amd: Publish the bank pointer only after setup has succeeded x86/ima: use correct identifier for SetupMode variable jbd2: fix ocfs2 corrupt when clearing block group bits arm64: memory: Add missing brackets to untagged_addr() macro powerpc/hugetlb: Fix 8M hugepages on 8xx powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size powerpc/entry: Fix an #if which should be an #ifdef in entry_32.S powerpc/tm: Fix clearing MSR[TS] in current when reclaiming on signal delivery powerpc/eeh: Fix deadlock handling dead PHB powerpc/8xx: Fix clearing of bits 20-23 in ITLB miss drm/panfrost: perfcnt: Reserve/use the AS attached to the perfcnt MMU context staging: rtl8723bs: Fix potential overuse of kernel memory staging: rtl8723bs: Fix potential security hole staging: rtl8188eu: Fix potential overuse of kernel memory staging: rtl8188eu: Fix potential security hole scsi: Revert "target/core: Inline transport_lun_remove_cmd()" usb: dwc3: debug: fix string position formatting mixup with ret and len usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows USB: hub: Fix the broken detection of USB3 device in SMSC hub USB: hub: Don't record a connect-change event during reset-resume USB: Fix novation SourceControl XL after suspend usb: uas: fix a plug & unplug racing USB: quirks: blacklist duplicate ep on Sound Devices USBPre2 USB: core: add endpoint-blacklist quirk usb: host: xhci: update event ring dequeue pointer on purpose xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2 xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms xhci: fix runtime pm enabling for quirky Intel hosts xhci: Force Maximum Packet size for Full-speed bulk devices to valid range. staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi. staging: android: ashmem: Disallow ashmem memory from being remapped vt: vt_ioctl: fix race in VT_RESIZEX vt: selection, handle pending signals in paste_selection vt: fix scrollback flushing on background consoles floppy: check FDC index for errors before assigning it e1000e: Use rtnl_lock to prevent race conditions between net and pci/pm USB: misc: iowarrior: add support for the 100 device USB: misc: iowarrior: add support for the 28 and 28L devices USB: misc: iowarrior: add support for 2 OEMed devices thunderbolt: Prevent crash if non-active NVMem file is read btrfs: handle logged extent failure properly ecryptfs: fix a memory leak bug in ecryptfs_init_messaging() ecryptfs: fix a memory leak bug in parse_tag_1_packet() tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST ASoC: sun8i-codec: Fix setting DAI data format ASoC: codec2codec: avoid invalid/double-free of pcm runtime ALSA: hda/realtek - Apply quirk for yet another MSI laptop ALSA: hda/realtek - Apply quirk for MSI GP63, too ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs iommu/qcom: Fix bogus detach logic UPSTREAM: sched/psi: Fix OOB write when writing 0 bytes to PSI files ANDROID: build.config.gki.aarch64: enable symbol trimming clk: Move clk_debug_print_enabled to linux clk header ANDROID: kbuild: avoid excessively long argument lists ANDROID: gki_defconfig: Enable CONFIG_RD_LZ4 ANDROID: net: wireless: Add module_param(mac_prefix) to mac80211_hwsim ANDROID: gki: Enable BINFMT_MISC as part of GKI ANDROID: gki_defconfig: disable CONFIG_CRYPTO_MD4 FROMLIST: kbuild: generate autoksyms.h early FROMLIST: kbuild: split adjust_autoksyms.sh in two parts FROMLIST: kbuild: allow symbol whitelisting with TRIM_UNUSED_KSYMS coresight: tmc-etr: fix null ptr dereferencing in usb_qdss_close ANDROID: ABI/Whitelist: update for unisoc ANDROID: Disable wq fp check in CFI builds ANDROID: gki_defconfig: Disable CONFIG_RT_GROUP_SCHED FROMGIT: of: property: Add device link support for power-domains and hwlocks ANDROID: drm/msm/a6xx: Make a6xx_gmu_bo.iova a dma_addr_t FROMLIST: of: of_reserved_mem: Increase limit on number of reserved regions arm64: defconfig: Enable ION support on genericarmv8-64_defconfig ion: Relax CONFIG_ION_MSM_HEAPS dependencies ANDROID: dm: Add wrapped key support in dm-default-key ANDROID: dm: add support for passing through derive_raw_secret ANDROID: block: Prevent crypto fallback for wrapped keys FROMLIST: drm/msm/a6xx: Use the DMA API for GMU memory objects FROMLIST: arm64: dts: sdm845: Set the virtual address range for GMU allocations UPSTREAM: of: Make of_dma_get_range() work on bus nodes UPSTREAM: of/address: Fix of_pci_range_parser_one translation of DMA addresses UPSTREAM: of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' UPSTREAM: of: Factor out #{addr,size}-cells parsing UPSTREAM: of: address: Follow DMA parent for "dma-coherent" UPSTREAM: of/address: Introduce of_get_next_dma_parent() helper UPSTREAM: of: Make of_dma_get_range() private ANDROID: fix merge issue in 5.4.22 ANDROID: update ABI for 5.4.22 Linux 5.4.22 rtc: Kconfig: select REGMAP_I2C when necessary bcache: properly initialize 'path' and 'err' in register_bcache() drm/amdgpu/display: handle multiple numbers of fclks in dcn_calcs.c (v2) s390/pci: Recover handle in clp_set_pci_fn() mlxsw: spectrum_dpipe: Add missing error path fuse: don't overflow LLONG_MAX with end offset virtio_balloon: prevent pfn array overflow cifs: log warning message (once) if out of disk space i40e: Relax i40e_xsk_wakeup's return value when PF is busy help_next should increase position index NFS: Fix memory leaks drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_voltage drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_latency brd: check and limit max_part par microblaze: Prevent the overflow of the start asm-generic/tlb: add missing CONFIG symbol iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta() iwlwifi: mvm: Fix thermal zone registration nvme-pci: remove nvmeq->tags nvmet: Pass lockdep expression to RCU lists irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL bcache: fix incorrect data type usage in btree_flush_write() bcache: explicity type cast in bset_bkey_last() bcache: fix memory corruption in bch_cache_accounting_clear() reiserfs: prevent NULL pointer dereference in reiserfs_insert_item() lib/scatterlist.c: adjust indentation in __sg_alloc_table ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans() ocfs2: make local header paths relative to C files btrfs: do not do delalloc reservation under page lock powerpc: Do not consider weak unresolved symbol relocations as bad radeon: insert 10ms sleep in dce5_crtc_load_lut trigger_next should increase position index ftrace: fpid_next() should increase position index char: hpet: Fix out-of-bounds read bug drm/nouveau/disp/nv50-: prevent oops when no channel method map provided irqchip/gic-v3: Only provision redistributors that are enabled in ACPI drm/amd/display: do not allocate display_mode_lib unnecessarily rbd: work around -Wuninitialized warning ceph: check availability of mds cluster on mount after wait timeout powerpc/mm: Don't log user reads to 0xffffffff bpf: map_seq_next should always increase position index cifs: fix NULL dereference in match_prepath cifs: Fix mount options set in automount cifs: fix unitialized variable poential problem with network I/O cache lock patch iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop rtw88: fix potential NULL skb access in TX ISR hostap: Adjust indentation in prism2_hostapd_add_sta ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 ARM: 8951/1: Fix Kexec compilation issue. selftests/eeh: Bump EEH wait time to 60s powerpc/pseries/lparcfg: Fix display of Maximum Memory jbd2: make sure ESHUTDOWN to be recorded in the journal superblock jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record selftests: bpf: Reset global state between reuseport test runs alarmtimer: Make alarmtimer platform device child of RTC device iommu/vt-d: Remove unnecessary WARN_ON_ONCE() bcache: fix use-after-free in register_bcache() bcache: rework error unwinding in register_bcache bcache: cached_dev_free needs to put the sb page btrfs: Fix split-brain handling when changing FSID to metadata uuid btrfs: separate definition of assertion failure handlers media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV drm/nouveau/mmu: fix comptag memory leak sunrpc: Fix potential leaks in sunrpc_cache_unhash() ALSA: hda - Add docking station support for Lenovo Thinkpad T420s bpf, btf: Always output invariant hit in pahole DWARF to BTF transform driver core: platform: fix u32 greater or equal to zero comparison s390/ftrace: generate traced function stack frame s390: adjust -mpacked-stack support check for clang 10 x86/decoder: Add TEST opcode to Group3-2 objtool: Fix ARCH=x86_64 build error kbuild: use -S instead of -E for precise cc-option test in Kconfig spi: spi-fsl-qspi: Ensure width is respected in spi-mem operations ALSA: hda/hdmi - add retry logic to parse_intel_hdmi() irqchip/mbigen: Set driver .suppress_bind_attrs to avoid remove problems regulator: core: Fix exported symbols to the exported GPL version remoteproc: Initialize rproc_class before use module: avoid setting info->name early in case we can fall back to info->mod->name btrfs: device stats, log when stats are zeroed btrfs: safely advance counter when looking up bio csums btrfs: fix possible NULL-pointer dereference in integrity checks pwm: Remove set but not set variable 'pwm' ide: serverworks: potential overflow in svwks_set_pio_mode() cmd64x: potential buffer overflow in cmd64x_program_timings() pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd f2fs: fix memleak of kobject regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage ASoC: SOF: Intel: hda: Fix SKL dai count debugobjects: Fix various data races watchdog/softlockup: Enforce that timestamp is valid on boot perf/x86/amd: Constrain Large Increment per Cycle events sched/topology: Assert non-NUMA topology masks don't (partially) overlap sched/core: Fix size of rq::uclamp initialization arm64: dts: ti: k3-j721e-main: Add missing power-domains for smmu KVM: PPC: Remove set but not used variable 'ra', 'rs', 'rt' EDAC/sifive: Fix return value check in ecc_register() drm/amd/display: fixup DML dependencies arm64: fix alternatives with LLVM's integrated assembler arm64: lse: fix LSE atomics with LLVM's integrated assembler RDMA/mlx5: Don't fake udata for kernel path ALSA: usb-audio: add implicit fb quirk for MOTU M Series crypto: essiv - fix AEAD capitalization and preposition use in help text scsi: iscsi: Don't destroy session if there are outstanding connections scsi: ufs-mediatek: add apply_dev_quirks variant operation scsi: ufs: pass device information to apply_dev_quirks f2fs: free sysfs kobject f2fs: set I_LINKABLE early to avoid wrong access by vfs ALSA: usb-audio: unlock on error in probe iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE kbuild: remove *.tmp file when filechk fails usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue perf/imx_ddr: Fix cpu hotplug state cleanup drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add gpiolib: Set lockdep class for hierarchical irq domains dm thin: don't allow changing data device during thin-pool reload drm/nouveau/fault/gv100-: fix memory leak on module unload drm/nouveau/drm/ttm: Remove set but not used variable 'mem' drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw drm/nouveau/secboot/gm20b: initialize pointer in gm20b_secboot_new() vme: bridges: reduce stack usage bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare driver core: Print device when resources present in really_probe() driver core: platform: Prevent resouce overflow from causing infinite loops visorbus: fix uninitialized variable access misc: xilinx_sdfec: fix xsdfec_poll()'s return type tty: synclink_gt: Adjust indentation in several functions tty: synclinkmp: Adjust indentation in several functions raid6/test: fix a compilation warning ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m ALSA: usb-audio: Add boot quirk for MOTU M Series ARM: dts: rockchip: add reg property to brcmf sub node for rk3188-bqedison2qc arm64: dts: rockchip: add reg property to brcmf sub-nodes arm64: dts: rockchip: fix dwmmc clock name for px30 clocksource: davinci: only enable clockevents once tim34 is initialized wan: ixp4xx_hss: fix compile-testing on 64-bit x86/nmi: Remove irq_work from the long duration NMI handler bnxt: Detach page from page pool before sending up the stack Input: edt-ft5x06 - work around first register access error rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls efi/x86: Don't panic or BUG() on non-critical error conditions soc/tegra: fuse: Correct straps' address for older Tegra124 device trees IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats IB/hfi1: Add software counter for ctxt0 seq drop staging: rtl8188: avoid excessive stack usage drm/mediatek: Add gamma property according to hardware capability udf: Fix free space reporting for metadata and virtual partitions usbip: Fix unsafe unaligned pointer usage ARM: dts: stm32: Add power-supply for DSI panel on stm32f469-disco usb: dwc3: use proper initializers for property entries drm: remove the newline for CRC source name. RDMA/hns: Avoid printing address of mtt page mlx5: work around high stack usage with gcc drm/amdkfd: Fix permissions of hang_hws iommu/vt-d: Avoid sending invalid page response iommu/vt-d: Match CPU and IOMMU paging mode ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one. vfio/spapr/nvlink2: Skip unpinning pages on error exit tools lib api fs: Fix gcc9 stringop-truncation compilation error net: phy: fixed_phy: fix use-after-free when checking link GPIO ALSA: sh: Fix compile warning wrt const ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too clk: uniphier: Add SCSSI clock gate for each channel clk: Use parent node pointer during registration if necessary ALSA: sh: Fix unused variable warnings clk: sunxi-ng: add mux and pll notifiers for A64 CPU clock RDMA/rxe: Fix error type of mmap_offset fbdev: fix numbering of fbcon options ASoC: soc-topology: fix endianness issues reset: uniphier: Add SCSSI reset control for each channel pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs drm/fbdev: Fallback to non tiled mode if all tiles not present PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency PM / devfreq: exynos-ppmu: Fix excessive stack usage x86/vdso: Provide missing include file crypto: chtls - Fixed memory leak net: phy: realtek: add logging for the RGMII TX delay configuration bpf: Print error message for bpftool cgroup show dmaengine: imx-sdma: Fix memory leak dmaengine: Store module owner in dma_device struct clk: actually call the clock init before any other callback of the clock iommu/iova: Silence warnings under memory pressure iommu/amd: Only support x2APIC with IVHD type 11h/40h iommu/amd: Check feature support bit before accessing MSI capability registers arm64: dts: qcom: db845c: Enable ath10k 8bit host-cap quirk scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration selinux: ensure we cleanup the internal AVC counters on error in avc_update() ARM: dts: r8a7779: Add device node for ARM global timer clk: renesas: rcar-gen3: Allow changing the RPC[D2] clocks drm/mediatek: handle events when enabling/disabling crtc crypto: inside-secure - add unspecified HAS_IOMEM dependency scsi: aic7xxx: Adjust indentation in ahc_find_syncrate scsi: ufs: Complete pending requests in host reset and restore path nfsd: Clone should commit src file metadata too ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 clk: qcom: smd: Add missing bimc clock drm/amdgpu: fix KIQ ring test fail in TDR of SRIOV orinoco: avoid assertion in case of NULL pointer rtlwifi: rtl_pci: Fix -Wcast-function-type iwlegacy: Fix -Wcast-function-type ipw2x00: Fix -Wcast-function-type b43legacy: Fix -Wcast-function-type PCI: Add DMA alias quirk for PLX PEX NTB PCI: Add nr_devfns parameter to pci_add_dma_alias() ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status netfilter: nft_tunnel: add the missing ERSPAN_VERSION nla_policy fore200e: Fix incorrect checks of NULL pointer dereference r8169: check that Realtek PHY driver module is loaded samples/bpf: Set -fno-stack-protector when building BPF programs reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros selftests/net: make so_txtime more robust to timer variance gpu/drm: ingenic: Avoid null pointer deference in plane atomic update Revert "nfp: abm: fix memory leak in nfp_abm_u32_knode_replace" PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers PCI: Add generic quirk for increasing D3hot delay media: cx23885: Add support for AVerMedia CE310B PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in bus: ti-sysc: Implement quirk handling for CLKDM_NOAUTO ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed ARM: dts: imx6: rdu2: Disable WP for USDHC2 and USDHC3 ARM: exynos_defconfig: Bring back explicitly wanted options clk: imx: Add correct failure handling for clk based helpers padata: validate cpumask without removed CPU during offline arm64: dts: qcom: msm8996: Disable USB2 PHY suspend by core selinux: ensure we cleanup the internal AVC counters on error in avc_insert() opp: Free static OPPs on errors while adding them arm: dts: allwinner: H3: Add PMU node arm64: dts: allwinner: H5: Add PMU node arm64: dts: allwinner: H6: Add PMU mode NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu(). net/wan/fsl_ucc_hdlc: reject muram offsets above 64K regulator: rk808: Lower log level on optional GPIOs being not available ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682 ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's modules: lockdep: Suppress suspicious RCU usage warning arm64: dts: rockchip: Fix NanoPC-T4 cooling maps drm/panel: simple: Add Logic PD Type 28 display support drm/amdgpu: Ensure ret is always initialized when using SOC15_WAIT_ON_RREG ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table bpf, sockhash: Synchronize_rcu before free'ing map drm/amdkfd: Fix a bug in SDMA RLC queue counting under HWS mode clk: qcom: rcg2: Don't crash if our parent can't be found; return an error clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq() kconfig: fix broken dependency in randconfig-generated .config block, bfq: do not plug I/O for bfq_queues with no proc refs drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store Btrfs: keep pages dirty when using btrfs_writepage_fixup_worker KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups nbd: add a flush_workqueue in nbd_start_device tracing: Simplify assignment parsing for hist triggers drm/amd/display: Retrain dongles when SINK_COUNT becomes non-zero rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed selftests: settings: tests can be in subsubdirs brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362 rtw88: fix rate mask for 1SS chip ath10k: Correct the DMA direction for management tx buffers ext4, jbd2: ensure panic when aborting with zero errno ARM: 8952/1: Disable kmemleak on XIP kernels tracing: Fix very unlikely race of registering two stat tracers tracing: Fix tracing_stat return values in error handling paths powerpc/iov: Move VF pdev fixup into pcibios_fixup_iov() s390/pci: Fix possible deadlock in recover_store() wan/hdlc_x25: fix skb handling dmaengine: fsl-qdma: fix duplicated argument to && udf: Allow writing to 'Rewritable' partitions pwm: omap-dmtimer: Simplify error handling x86/sysfb: Fix check for bad VRAM size clk: ti: dra7: fix parent for gmac_clkctrl ext4: fix deadlock allocating bio_post_read_ctx from mempool jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal kselftest: Minimise dependency of get_size on C library interfaces drm/amd/display: Clear state after exiting fixed active VRR state clocksource/drivers/bcm2835_timer: Fix memory leak of timer usb: dwc2: Fix IN FIFO allocation usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe() drm/nouveau/nouveau: fix incorrect sizeof on args.src an args.dst spi: fsl-lpspi: fix only one cs-gpio working drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol() raid6/test: fix a compilation error net: ethernet: ixp4xx: Standard module init sparc: Add .exit.data section. MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init() efi/x86: Map the entire EFI vendor string before copying it pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins IB/core: Let IB core distribute cache update events kernel/module: Fix memleak in module_add_modinfo_attrs() media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run() char/random: silence a lockdep splat with printk() x86/fpu: Deactivate FPU state after failure during state load iommu/vt-d: Fix off-by-one in PASID allocation gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap() clk: meson: meson8b: make the CCF use the glitch-free mali mux powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number clk: at91: sam9x60: fix programmable clock prescaler media: sun4i-csi: Fix [HV]sync polarity handling media: sun4i-csi: Fix data sampling polarity handling media: sun4i-csi: Deal with DRAM offset media: i2c: mt9v032: fix enum mbus codes and frame sizes media: ov5640: Fix check for PLL1 exceeding max allowed rate pxa168fb: Fix the function used to release some memory in an error handling path drm/msm/adreno: fix zap vs no-zap handling drm/mipi_dbi: Fix off-by-one bugs in mipi_dbi_blank() printk: fix exclusive_console replaying pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs gianfar: Fix TX timestamping with a stacked DSA driver ALSA: ctl: allow TLV read operation for callback type of element in locked case ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT leds: pca963x: Fix open-drain initialization drm/amd/display: Map ODM memory correctly when doing ODM combine PCI: Fix pci_add_dma_alias() bitmask size brcmfmac: Fix use after free in brcmf_sdio_readframes() brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev() cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order clk: meson: pll: Fix by 0 division in __pll_params_to_rate() media: meson: add missing allocation failure check on new_buf f2fs: call f2fs_balance_fs outside of locked page f2fs: preallocate DIO blocks when forcing buffered_io rcu: Fix data-race due to atomic_t copy-by-value rcu: Fix missed wakeup of exp_wq waiters rcu/nocb: Fix dump_tree hierarchy print always active drm/qxl: Complete exception handling in qxl_device_init() wil6210: fix break that is never reached because of zero'ing of a retry counter ath10k: Fix qmi init error handling drm/gma500: Fixup fbdev stolen size usage evaluation net/sched: flower: add missing validation of TCA_FLOWER_FLAGS net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS net: dsa: tag_qca: Make sure there is headroom for tag net/smc: fix leak of kernel memory to user space enic: prevent waking up stopped tx queues over watchdog reset core: Don't skip generic XDP program execution for cloned SKBs ANDROID: ufs, block: fix crypto power management and move into block layer ANDROID: rtc: class: support hctosys from modular RTC drivers ANDROID: update the abi after clk changes ANDROID: update abi for f2fs/fscrypt merge ANDROID: Kconfig.gki: Remove most of the built in qcom clks FROMLIST: f2fs: Handle casefolding with Encryption FROMLIST: fscrypt: Have filesystems handle their d_ops FROMLIST: ext4: Use generic casefolding support FROMLIST: f2fs: Use generic casefolding support FROMLIST: Add standard casefolding support FROMLIST: unicode: Add utf8_casefold_hash ANDROID: gki: Set CONFIG_SERIAL_SAMSUNG for early con. UPSTREAM: tty: serial: samsung_tty: remove SERIAL_SAMSUNG_DEBUG UPSTREAM: tty: serial: samsung_tty: build it for any platform UPSTREAM: tty: serial: samsung_tty: do not abuse the struct uart_port unused fields UPSTREAM: tty: serial: samsung_tty: fix blank line checkpatch warning UPSTREAM: tty: serial: samsung_tty: fix up minor comment formatting UPSTREAM: tty: serial: samsung_tty: use 'unsigned int' not 'unsigned' UPSTREAM: tty: serial: samsung_tty: use standard debugging macros UPSTREAM: tty: serial: samsung_tty: drop unneded dbg() calls UPSTREAM: tty: serial: samsung_tty: delete samsung.h UPSTREAM: tty: serial: samsung.h: remove reset_port callback from struct s3c24xx_uart_info UPSTREAM: tty: serial: samsung.h: fix up minor comment issues UPSTREAM: tty: serial: samsung_tty: fix build warning UPSTREAM: tty: serial: samsung: allow driver to be built by anyone UPSTREAM: tty: serial: samsung: remove variable 'ufstat' set but not used UPSTREAM: {tty: serial, nand: onenand}: samsung: rename to fix build warning UPSTREAM: random: ignore GRND_RANDOM in getentropy(2) UPSTREAM: random: add GRND_INSECURE to return best-effort non-cryptographic bytes UPSTREAM: linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check UPSTREAM: linux/random.h: Use false with bool UPSTREAM: linux/random.h: Remove arch_has_random, arch_has_random_seed UPSTREAM: random: remove some dead code of poolinfo UPSTREAM: random: fix typo in add_timer_randomness() UPSTREAM: random: Add and use pr_fmt() UPSTREAM: random: convert to ENTROPY_BITS for better code readability UPSTREAM: random: remove unnecessary unlikely() UPSTREAM: random: remove kernel.random.read_wakeup_threshold UPSTREAM: random: delete code to pull data into pools UPSTREAM: random: remove the blocking pool UPSTREAM: random: make /dev/random be almost like /dev/urandom UPSTREAM: random: Add a urandom_read_nowait() for random APIs that don't warn UPSTREAM: random: Don't wake crng_init_wait when crng_init == 1 UPSTREAM: char/random: silence a lockdep splat with printk() ANDROID: Incremental fs: Support xattrs BACKPORT: sched/fair: Remove wake_cap() UPSTREAM: sched/core: Remove for_each_lower_domain() UPSTREAM: sched/topology: Remove SD_BALANCE_WAKE on asymmetric capacity systems UPSTREAM: sched/fair: Add asymmetric CPU capacity wakeup scan ANDROID: ufs: add quirk to fix abnormal ocs fatal error FROMLIST: ufs: fix a bug on printing PRDT ANDROID: update abi for 5.4.21 ANDROID: clang: update to 10.0.4 fbdev: core: Initialise structure to prevent kernel information leak Linux 5.4.21 mmc: core: Rework wp-gpio handling gpio: add gpiod_toggle_active_low() KVM: x86/mmu: Fix struct guest_walker arrays for 5-level paging ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project() jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer jbd2: move the clearing of b_modified flag to the journal_unmap_buffer() Revert "drm/sun4i: drv: Allow framebuffer modifiers in mode config" NFSv4.1 make cachethis=no for writes perf stat: Don't report a null stalled cycles per insn metric KVM: x86: Mask off reserved bit from #DB exception payload arm64: dts: fast models: Fix FVP PCI interrupt-map property cifs: fix mount option display for sec=krb5i mac80211: fix quiet mode activation in action frames hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions. perf/x86/intel: Fix inaccurate period in context switch for auto-reload spmi: pmic-arb: Set lockdep class for hierarchical irq domains sched/uclamp: Reject negative values in cpu_uclamp_write() s390/time: Fix clk type in get_tod_clock RDMA/core: Fix protection fault in get_pkey_idx_qp_list RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create RDMA/iw_cxgb4: initiate CLOSE when entering TERM RDMA/core: Fix invalid memory access in spec_filter_size IB/umad: Fix kernel crash while unloading ib_umad IB/rdmavt: Reset all QPs when the device is shut down IB/hfi1: Close window for pq and request coliding IB/hfi1: Acquire lock to release TID entries when user file is closed IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info bus: moxtet: fix potential stack buffer overflow drm/panfrost: Make sure the shrinker does not reclaim referenced BOs drm/vgem: Close use-after-free race in vgem_gem_create s390/uv: Fix handling of length extensions s390/pkey: fix missing length of protected key on return perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map KVM: nVMX: Use correct root level for nested EPT shadow page tables EDAC/mc: Fix use-after-free and memleaks during device removal EDAC/sysfs: Remove csrow objects on errors cifs: make sure we do not overflow the max EA buffer size xprtrdma: Fix DMA scatter-gather list mapping imbalance arm64: ssbs: Fix context-switch when SSBS is present on all CPUs gpio: xilinx: Fix bug where the wrong GPIO register is written to ARM: npcm: Bring back GPIOLIB support btrfs: log message when rw remount is attempted with unclean tree-log btrfs: print message when tree-log replay starts btrfs: ref-verify: fix memory leaks Btrfs: fix race between using extent maps and merging them ext4: improve explanation of a mount failure caused by a misconfigured kernel ext4: add cond_resched() to ext4_protect_reserved_inode ext4: fix checksum errors with indexed dirs ext4: fix support for inode sizes > 1024 bytes ext4: don't assume that mmp_nodename/bdevname have NUL ALSA: usb-audio: Add clock validity quirk for Denon MC7000/MCX8000 ALSA: usb-audio: sound: usb: usb true/false for bool return type ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system ACPICA: Introduce acpi_any_gpe_status_set() ACPI: PM: s2idle: Avoid possible race related to the EC GPE ACPI: EC: Fix flushing of pending work ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 ALSA: hda/realtek - Fix silent output on MSI-GL73 ALSA: hda/realtek - Add more codec supported Headset Button ALSA: usb-audio: Fix UAC2/3 effect unit parsing Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list Input: synaptics - enable SMBus on ThinkPad L470 Input: synaptics - switch T470s to RMI4 by default ANDROID: ABI/Whitelist: initial unisoc whitelist ANDROID: Fix ABI representation after enabling CONFIG_NET_NS ANDROID: gki_defconfig: Enable CONFIG_NET_NS ANDROID: gki_defconfig: Enable XDP_SOCKETS ANDROID: gki_defconfig: Enable MAC80211_RC_MINSTREL ANDROID: virtio: virtio_input: pass _DIRECT only if the device advertises _DIRECT Revert "arm64: defconfig: Remove IKHEADERS option" ANDROID: staging: ion: delete unused heap types and IDs ANDROID: gki_defconfig: disable system_contig ion heap. ANDROID: cf build: Use merge_configs ANDROID: net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head ANDROID: gki_defconfig: Disable SDCARD_FS Linux 5.4.20 selinux: fall back to ref-walk if audit is required libertas: make lbs_ibss_join_existing() return error code on rates overflow libertas: don't exit from lbs_ibss_join_existing() with RCU read lock held mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv() mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status() dmaengine: axi-dmac: add a check for devm_regmap_init_mmio clk: meson: g12a: fix missing uart2 in regmap table mfd: max77650: Select REGMAP_IRQ in Kconfig regmap: fix writes to non incrementing registers pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B pinctrl: sh-pfc: r8a77965: Fix DU_DOTCLKIN3 drive/bias control selinux: fix regression introduced by move_mount(2) syscall selinux: revert "stop passing MAY_NOT_BLOCK to the AVC upon follow_link" bcache: avoid unnecessary btree nodes flushing in btree_flush_write() dt-bindings: iio: adc: ad7606: Fix wrong maxItems value media: i2c: adv748x: Fix unsafe macros drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe crypto: caam/qi2 - fix typo in algorithm's driver name crypto: atmel-sha - fix error handling when setting hmac key crypto: artpec6 - return correct error code for failed setkey() crypto: testmgr - don't try to decrypt uninitialized buffers mtd: sharpslpart: Fix unsigned comparison to zero mtd: onenand_base: Adjust indentation in onenand_read_ops_nolock arm64: nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer KVM: arm64: pmu: Fix chained SW_INCR counters KVM: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset KVM: arm: Make inject_abt32() inject an external abort instead KVM: arm: Fix DFSR setting for non-LPAE aarch32 guests KVM: arm/arm64: Fix young bit from mmu notifier arm64: ptrace: nofpsimd: Fail FP/SIMD regset operations arm64: cpufeature: Set the FP/SIMD compat HWCAP bits properly arm64: cpufeature: Fix the type of no FP/SIMD capability sched/uclamp: Fix a bug in propagating uclamp value in new cgroups ARM: 8949/1: mm: mark free_memmap as __init KVM: arm/arm64: vgic-its: Fix restoration of unmapped collections ARM: at91: pm: use of_device_id array to find the proper shdwc node ARM: at91: pm: use SAM9X60 PMC's compatible iommu/arm-smmu-v3: Populate VMID field for CMDQ_OP_TLBI_NH_VA powerpc/pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW powerpc/pseries/vio: Fix iommu_table use-after-free refcount warning powerpc/papr_scm: Fix leaking 'bus_desc.provider_name' in some paths powerpc/ptdump: Only enable PPC_CHECK_WX with STRICT_KERNEL_RWX powerpc/ptdump: Fix W+X verification call in mark_rodata_ro() Revert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests" soc: qcom: rpmhpd: Set 'active_only' for active only power domains tools/power/acpi: fix compilation error ARM: dts: at91: sama5d3: define clock rate range for tcb1 ARM: dts: at91: sama5d3: fix maximum peripheral clock rates ARM: dts: meson8b: use the actual frequency for the GPU's 364MHz OPP ARM: dts: meson8: use the actual frequency for the GPU's 182.1MHz OPP arm64: dts: marvell: clearfog-gt-8k: fix switch cpu port node arm64: dts: renesas: r8a77990: ebisu: Remove clkout-lr-synchronous from sound ARM: dts: am43xx: add support for clkout1 clock ARM: dts: at91: Reenable UART TX pull-ups arm64: dts: uDPU: fix broken ethernet arm64: dts: qcom: msm8998: Fix tcsr syscon size platform/x86: intel_mid_powerbtn: Take a copy of ddata ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node watchdog: qcom: Use platform_get_irq_optional() for bark irq rtc: cmos: Stop using shared IRQ rtc: hym8563: Return -EINVAL if the time is known to be invalid x86/boot: Handle malformed SRAT tables during early ACPI parsing NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals NFSv4: try lease recovery on NFS4ERR_EXPIRED NFSv4: pnfs_roc() must use cred_fscmp() to compare creds NFS: Fix fix of show_nfs_errors NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() NFS: Revalidate the file size on a fatal write error nfs: NFS_SWAP should depend on SWAP bpf, sockmap: Check update requirements after locking bpf: Improve bucket_log calculation logic selftests/bpf: Test freeing sockmap/sockhash with a socket in it bpf, sockhash: Synchronize_rcu before free'ing map bpf, sockmap: Don't sleep while holding RCU lock on tear-down bpftool: Don't crash on missing xlated program instructions iwlwifi: mvm: avoid use after free for pmsr request PCI/AER: Initialize aer_fifo PCI: Don't disable bridge BARs when assigning bus resources PCI: tegra: Fix afi_pex2_ctrl reg offset for Tegra30 PCI/switchtec: Fix vep_vector_number ioread width PCI/switchtec: Use dma_set_mask_and_coherent() ath10k: pci: Only dump ATH10K_MEM_REGION_TYPE_IOREG when safe PCI/IOV: Fix memory leak in pci_iov_add_virtfn() scsi: ufs: Fix ufshcd_probe_hba() reture value in case ufshcd_scsi_add_wlus() fails RDMA/umem: Fix ib_umem_find_best_pgsz() RDMA/cma: Fix unbalanced cm_id reference count during address resolve RDMA/uverbs: Verify MR access flags RDMA/core: Fix locking in ib_uverbs_event_read RDMA/i40iw: fix a potential NULL pointer dereference RDMA/netlink: Do not always generate an ACK for some netlink operations IB/mlx4: Fix leak in id_map_find_del IB/srp: Never use immediate data if it is disabled by a user IB/mlx4: Fix memory leak in add_gid error flow hv_sock: Remove the accept port restriction ASoC: pcm: update FE/BE trigger order based on the command ANDROID: gki_defconfig: Add CONFIG_UNICODE ANDROID: added memory initialization tests to cuttlefish config ANDROID: gki_defconfig: enable CONFIG_RUNTIME_TESTING_MENU fs-verity: use u64_to_user_ptr() fs-verity: use mempool for hash requests fs-verity: implement readahead of Merkle tree pages fs-verity: implement readahead for FS_IOC_ENABLE_VERITY fscrypt: improve format of no-key names ubifs: allow both hash and disk name to be provided in no-key names ubifs: don't trigger assertion on invalid no-key filename fscrypt: clarify what is meant by a per-file key fscrypt: derive dirhash key for casefolded directories fscrypt: don't allow v1 policies with casefolding fscrypt: add "fscrypt_" prefix to fname_encrypt() fscrypt: don't print name of busy file when removing key ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted() fscrypt: document gfp_flags for bounce page allocation fscrypt: optimize fscrypt_zeroout_range() fscrypt: remove redundant bi_status check fscrypt: Allow modular crypto algorithms FROMLIST: rename missed uaccess .fixup section ANDROID: gki_defconfig: enable heap and stack initialization. ANDROID: ABI/Whitelist: update for db845c ANDROID: ABI/Whitelist: update for Cuttlefish ANDROID: update ABI representation and GKI whitelist ANDROID: f2fs: fix missing blk-crypto changes usb: misc: Add USB super speed re-driver support fscrypt: include <linux/ioctl.h> in UAPI header fscrypt: don't check for ENOKEY from fscrypt_get_encryption_info() fscrypt: remove fscrypt_is_direct_key_policy() fscrypt: move fscrypt_valid_enc_modes() to policy.c fscrypt: check for appropriate use of DIRECT_KEY flag earlier fscrypt: split up fscrypt_supported_policy() by policy version fscrypt: introduce fscrypt_needs_contents_encryption() fscrypt: move fscrypt_d_revalidate() to fname.c fscrypt: constify inode parameter to filename encryption functions fscrypt: constify struct fscrypt_hkdf parameter to fscrypt_hkdf_expand() fscrypt: verify that the crypto_skcipher has the correct ivsize fscrypt: use crypto_skcipher_driver_name() fscrypt: support passing a keyring key to FS_IOC_ADD_ENCRYPTION_KEY UPSTREAM: dynamic_debug: allow to work if debugfs is disabled UPSTREAM: serial: sprd: Add polling IO support UPSTREAM: dmaengine: sprd: Add wrap address support for link-list mode UPSTREAM: pinctrl: sprd: Add CM4 sleep mode support UPSTREAM: pinctrl: sprd: Add PIN_CONFIG_BIAS_DISABLE configuration support UPSTREAM: spi: sprd: adi: Set BIT_WDG_NEW bit when rebooting UPSTREAM: nvmem: sprd: Add Spreadtrum SoCs eFuse support UPSTREAM: dt-bindings: nvmem: Add Spreadtrum eFuse controller documentation UPSTREAM: scsi: ufs-mediatek: enable low-power mode for hibern8 state BACKPORT: scsi: ufs: export some functions for vendor usage UPSTREAM: scsi: ufs-mediatek: add dbg_register_dump implementation UPSTREAM: scsi: ufs-mediatek: add apply_dev_quirks variant operation UPSTREAM: scsi: ufs: pass device information to apply_dev_quirks UPSTREAM: scsi: ufs: add device reset history for vendor implementations UPSTREAM: scsi: ufs: fix empty check of error history UPSTREAM: scsi: ufs-mediatek: configure and enable clk-gating UPSTREAM: scsi: ufs-mediatek: configure customized auto-hibern8 timer BACKPORT: scsi: ufs: export ufshcd_auto_hibern8_update for vendor usage UPSTREAM: scsi: ufs-mediatek: introduce reference clock control UPSTREAM: scsi: ufs-mediatek: add device reset implementation UPSTREAM: scsi: soc: mediatek: add header for SiP service interface BACKPORT: scsi: ufs: use ufshcd_vops_dbg_register_dump for vendor specific dumps BACKPORT: scsi: ufs: unify scsi_block_requests usage UPSTREAM: scsi: ufs: disable interrupt during clock-gating UPSTREAM: scsi: ufs: disable irq before disabling clocks UPSTREAM: scsi: ufs-mediatek: enable auto suspend capability ANDROID: update ABI for 5.4.19 ANDROID: fix up dummy-cpufreq.c due to api changes Linux 5.4.19 powerpc/kuap: Fix set direction in allow/prevent_user_access() regulator fix for "regulator: core: Add regulator_is_equal() helper" rxrpc: Fix service call disconnection perf/core: Fix mlock accounting in perf_mmap() clocksource: Prevent double add_timer_on() for watchdog_timer x86/apic/msi: Plug non-maskable MSI affinity race cifs: fail i/o on soft mounts if sessionsetup errors out KVM: Play nice with read-only memslots when querying host page size KVM: Use vcpu-specific gva->hva translation when querying host page size KVM: nVMX: vmread should not set rflags to specify success in case of #PF KVM: x86: fix overlap between SPTE_MMIO_MASK and generation KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM KVM: x86: use CPUID to locate host page table reserved bits KVM: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM drm/dp_mst: Remove VCPI while disabling topology mgr btrfs: free block groups after free'ing fs trees btrfs: use bool argument in free_root_pointers() x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode mfd: bd70528: Fix hour register mask mfd: rn5t618: Mark ADC control register volatile mfd: da9062: Fix watchdog compatible string ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug net/mlx5: Deprecate usage of generic TLS HW capability bit net/mlx5: Fix deadlock in fs_core drop_monitor: Do not cancel uninitialized work item qed: Fix timestamping issue for L2 unicast ptp packets. ipv6/addrconf: fix potential NULL deref in inet6_set_link_af() taprio: Fix dropping packets when using taprio + ETF offloading taprio: Use taprio_reset_tc() to reset Traffic Classes configuration taprio: Add missing policy validation for flags taprio: Fix still allowing changing the flags during runtime taprio: Fix enabling offload with wrong number of traffic classes net: macb: Limit maximum GEM TX length in TSO net: macb: Remove unnecessary alignment check for TSO net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx net/mlx5: IPsec, Fix esp modify function attribute net: systemport: Avoid RBUF stuck in Wake-on-LAN mode net: stmmac: fix a possible endless loop net_sched: fix a resource leak in tcindex_set_parms() net: mvneta: move rx_dropped and rx_errors in per-cpu stats net: dsa: microchip: enable module autoprobe net: dsa: bcm_sf2: Only 7278 supports 2Gb/sec IMP port net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan() dpaa_eth: support all modes with rate adapting PHYs devlink: report 0 after hitting end in region read bonding/alb: properly access headers in bond_alb_xmit() ASoC: sgtl5000: Fix VDDA and VDDIO comparison regulator: core: Add regulator_is_equal() helper ubifs: Fix memory leak from c->sup_node ubi: Fix an error pointer dereference in error handling code ubi: fastmap: Fix inverted logic in seen selfcheck virtio_balloon: Fix memory leaks on errors in virtballoon_probe() virtio-balloon: Fix memory leak when unloading while hinting is in progress nfsd: Return the correct number of bytes written to the file nfsd: fix jiffies/time_t mixup in LRU list nfsd: fix delay timer on 32-bit architectures IB/core: Fix ODP get user pages flow IB/mlx5: Fix outstanding_pi index for GSI qps net: tulip: Adjust indentation in {dmfe, uli526x}_init_module net: smc911x: Adjust indentation in smc911x_phy_configure ppp: Adjust indentation into ppp_async_input NFC: pn544: Adjust indentation in pn544_hci_check_presence drm: msm: mdp4: Adjust indentation in mdp4_dsi_encoder_enable powerpc/44x: Adjust indentation in ibm4xx_denali_fixup_memsize ext2: Adjust indentation in ext2_fill_super phy: qualcomm: Adjust indentation in read_poll_timeout mtd: spi-nor: Split mt25qu512a (n25q512a) entry into two scsi: ufs: Recheck bkops level if bkops is disabled scsi: qla4xxx: Adjust indentation in qla4xxx_mem_free scsi: csiostor: Adjust indentation in csio_device_reset scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type ASoC: meson: axg-fifo: fix fifo threshold setup percpu: Separate decrypted varaibles anytime encryption can be enabled broken ping to ipv6 linklocal addresses on debian buster fix up iter on short count in fuse_direct_io() virtio-pci: check name when counting MSI-X vectors virtio-balloon: initialize all vq callbacks drm/amd/dm/mst: Ignore payload update failures clk: tegra: Mark fuse clock as critical mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush arm64: dts: qcom: qcs404-evb: Set vdd_apc regulator in high power mode mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section ocfs2: fix oops when writing cloned file KVM: s390: do not clobber registers during guest reset/store status KVM: x86: Revert "KVM: X86: Fix fpu state crash in kvm guest" KVM: x86: Ensure guest's FPU state is loaded when accessing for emulation KVM: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load,put}_guest_fpu() KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails KVM: x86: Don't let userspace set host-reserved cr4 bits KVM: VMX: Add non-canonical check on writes to RTIT address MSRs x86/KVM: Clean up host's steal time structure x86/kvm: Cache gfn to pfn translation x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed x86/kvm: Introduce kvm_(un)map_gfn() x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit kvm/svm: PKU not currently supported KVM: PPC: Book3S PR: Free shared page if mmu initialization fails KVM: PPC: Book3S HV: Uninit vCPU if vcore creation fails KVM: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks KVM: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c KVM: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks KVM: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks KVM: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks KVM: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks KVM: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks KVM: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks KVM: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks KVM: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks KVM: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks aio: prevent potential eventfd recursion on poll eventfd: track eventfd_signal() recursion depth bcache: add readahead cache policy options via sysfs interface watchdog: fix UAF in reboot notifier handling in watchdog core code xen/balloon: Support xend-based toolstack take two tools/kvm_stat: Fix kvm_exit filter name media: rc: ensure lirc is initialized before registering input device media: iguanair: fix endpoint sanity check drm/rect: Avoid division by zero drm: atmel-hlcdc: prefer a lower pixel-clock than requested drm: atmel-hlcdc: enable clock before configuring timing engine drm: atmel-hlcdc: use double rate for pixel clock only if supported gfs2: fix O_SYNC write handling gfs2: move setting current->backing_dev_info gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0 sunrpc: expiry_time should be seconds not timeval mwifiex: fix unbalanced locking in mwifiex_process_country_ie() iwlwifi: don't throw error when trying to remove IGTK ARM: tegra: Enable PLLP bypass during Tegra124 LP1 btrfs: Correctly handle empty trees in find_first_clear_extent_bit btrfs: flush write bio if we loop in extent_write_cache_pages Btrfs: fix race between adding and putting tree mod seq elements and nodes btrfs: drop log root for dropped roots btrfs: set trans->drity in btrfs_commit_transaction Btrfs: fix infinite loop during fsync after rename operations Btrfs: make deduplication with range including the last block work Btrfs: fix missing hole after hole punching and fsync when using NO_HOLES ext4: fix race conditions in ->d_compare() and ->d_hash() ext4: fix deadlock allocating crypto bounce page from mempool jbd2_seq_info_next should increase position index nfsd: fix filecache lookup NFS: Directory page cache pages need to be locked when read NFS: Fix memory leaks and corruption in readdir scsi: qla2xxx: Fix unbound NVME response length powerpc/futex: Fix incorrect user access blocking crypto: picoxcell - adjust the position of tasklet_init and fix missed tasklet_kill crypto: api - Fix race condition in crypto_spawn_alg crypto: atmel-aes - Fix counter overflow in CTR mode crypto: pcrypt - Do not clear MAY_SLEEP flag in original request crypto: arm64/ghash-neon - bump priority to 150 crypto: ccp - set max RSA modulus size for v3 platform devices as well crypto: hisilicon - Use the offset fields in sqe to avoid need to split scatterlists crypto: api - fix unexpectedly getting generic implementation selftests: bpf: Ignore FIN packets for reuseport tests selftests: bpf: Use a temporary file in test_sockmap selftests/bpf: Skip perf hw events test if the setup disabled it selftests/bpf: Fix test_attach_probe samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach samples/bpf: Don't try to remove user's homedir on clean tc-testing: fix eBPF tests failure on linux fresh clones libbpf: Fix realloc usage in bpf_core_find_cands bpf, devmap: Pass lockdep expression to RCU lists selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs riscv, bpf: Fix broken BPF tail calls btrfs: Handle another split brain scenario with metadata uuid feature btrfs: fix improper setting of scanned for range cyclic write cache pages crypto: pcrypt - Avoid deadlock by using per-instance padata queues ftrace: Protect ftrace_graph_hash with ftrace_sync ftrace: Add comment to why rcu_dereference_sched() is open coded tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu tracing: Annotate ftrace_graph_hash pointer with __rcu ASoC: SOF: core: release resources on errors in probe_continue ASoC: SOF: Introduce state machine for FW boot scsi: qla2xxx: Fix stuck login session using prli_pend_timer dm: fix potential for q->make_request_fn NULL pointer dm thin metadata: use pool locking at end of dm_pool_metadata_close dm crypt: fix benbi IV constructor crash if used in authenticated mode dm crypt: fix GFP flags passed to skcipher_request_alloc() dm writecache: fix incorrect flush sequence when doing SSD mode commit dm space map common: fix to ensure new block isn't already in use dm zoned: support zone sizes smaller than 128MiB ARM: dma-api: fix max_pfn off-by-one error in __dma_supported() of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc cpufreq: Avoid creating excessively large stack frames PM: core: Fix handling of devices deleted during system-wide resume f2fs: fix race conditions in ->d_compare() and ->d_hash() f2fs: fix dcache lookup of !casefolded directories f2fs: code cleanup for f2fs_statfs_project() f2fs: fix miscounted block limit in f2fs_statfs_project() f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() ovl: fix lseek overflow on 32bit ovl: fix wrong WARN_ON() in ovl_cache_update_ino() power: supply: ltc2941-battery-gauge: fix use-after-free power: supply: axp20x_ac_power: Fix reporting online status cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e scsi: qla2xxx: Fix mtcp dump collection failure scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state erofs: fix out-of-bound read for shifted uncompressed block scripts/find-unused-docs: Fix massive false positives fs: allow deduplication of eof block into the end of the destination file padata: Remove broken queue flushing crypto: ccree - fix PM race condition crypto: ccree - fix FDE descriptor sequence crypto: ccree - fix pm wrongful error reporting crypto: ccree - fix AEAD decrypt auth fail crypto: ccree - fix backlog memory leak crypto: api - Check spawn->alg under lock in crypto_drop_spawn nvmem: core: fix memory abort in cleanup path mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile hv_balloon: Balloon up according to request page number ASoC: SOF: core: free trace on errors mmc: sdhci-of-at91: fix memleak on clk_get failure ubifs: Fix deadlock in concurrent bulk-read and writepage ubifs: Fix FS_IOC_SETFLAGS unexpectedly clearing encrypt flag ubifs: Fix wrong memory allocation ubifs: don't trigger assertion on invalid no-key filename fscrypt: don't print name of busy file when removing key alarmtimer: Unregister wakeup source when module get fails ACPI / battery: Deal better with neither design nor full capacity not being reported ACPI / battery: Use design-cap for capacity calculations if full-cap is not available ACPI / battery: Deal with design or full capacity being reported as -1 ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards mmc: spi: Toggle SPI polarity, do not hardcode it PCI: keystone: Fix error handling when "num-viewport" DT property is not populated PCI: keystone: Fix link training retries initiation PCI: keystone: Fix outbound region mapping PCI: tegra: Fix return value check of pm_runtime_get_sync() tracing: Fix now invalid var_ref_vals assumption in trace action powerpc/32s: Fix CPU wake-up from sleep mode powerpc/32s: Fix bad_kuap_fault() powerpc/pseries: Advance pfn if section is not present in lmb_is_removable() powerpc/xmon: don't access ASDR in VMs powerpc/ptdump: Fix W+X verification powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case s390/mm: fix dynamic pagetable upgrade for hugetlbfs MIPS: boot: fix typo in 'vmlinux.lzma.its' target MIPS: fix indentation of the 'RELOCS' message MIPS: syscalls: fix indentation of the 'SYSNR' message KVM: arm64: Only sign-extend MMIO up to register width KVM: arm/arm64: Correct AArch32 SPSR on exception entry KVM: arm/arm64: Correct CPSR on exception entry KVM: arm64: Correct PSTATE on exception entry arm64: acpi: fix DAIF manipulation with pNMI ALSA: hda: Add JasperLake PCI ID and codec vid ALSA: hda: Add Clevo W65_67SB the power_save blacklist ALSA: hda: Apply aligned MMIO access only conditionally platform/x86: intel_scu_ipc: Fix interrupt support x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR irqdomain: Fix a memory leak in irq_domain_push_irq() lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more() media: v4l2-rect.h: fix v4l2_rect_map_inside() top/left adjustments media: v4l2-core: compat: ignore native command codes media/v4l2-core: set pages dirty upon releasing DMA buffers mm: move_pages: report the number of non-attempted pages mm: thp: don't need care deferred split queue in memcg charge move path mm/memory_hotplug: fix remove_memory() lockdep splat utimes: Clamp the timestamps in notify_change() mmc: sdhci-pci: Make function amd_sdhci_reset static mm/sparse.c: reset section's mem_map when fully deactivated memcg: fix a crash in wb_workfn when a device disappears ALSA: dummy: Fix PCM format loop in proc output ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk ALSA: usb-audio: Fix endianess in descriptor validation usb: gadget: f_ecm: Use atomic_t to track in-flight request usb: gadget: f_ncm: Use atomic_t to track in-flight request usb: gadget: legacy: set max_speed to super-speed usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer objtool: Silence build output usb: typec: tcpci: mask event interrupts when remove driver usb: dwc3: gadget: Delay starting transfer usb: dwc3: gadget: Check END_TRANSFER completion brcmfmac: Fix memory leak in brcmf_usbdev_qinit Bluetooth: btusb: Disable runtime suspend on Realtek devices Bluetooth: btusb: fix memory leak on fw nvmet: Fix controller use after free nvmet: Fix error print message at nvmet_install_queue function rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special() srcu: Apply *_ONCE() to ->srcu_last_gp_end rcu: Avoid data-race in rcu_gp_fqs_check_wake() rcu: Use *_ONCE() to protect lockless ->expmask accesses tracing: Fix sched switch start/stop refcount racy updates tracing/kprobes: Have uname use __get_str() in print_fmt ipc/msg.c: consolidate all xxxctl_down() functions netfilter: ipset: fix suspicious RCU usage in find_set_and_id mfd: dln2: More sanity checking for endpoints media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors bnxt_en: Fix logic that disables Bus Master during firmware reset. netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() MAINTAINERS: correct entries for ISDN/mISDN section ionic: fix rxq comp packet type mask tcp: clear tp->segs_{in|out} in tcp_disconnect() tcp: clear tp->data_segs{in|out} in tcp_disconnect() tcp: clear tp->delivered in tcp_disconnect() tcp: clear tp->total_retrans in tcp_disconnect() rxrpc: Fix NULL pointer deref due to call->conn being cleared on disconnect rxrpc: Fix missing active use pinning of rxrpc_local object rxrpc: Fix insufficient receive notification generation rxrpc: Fix use-after-free in rxrpc_put_local() bnxt_en: Fix TC queue mapping. net: stmmac: Delete txtimer in suspend() net_sched: fix an OOB access in cls_tcindex net: hsr: fix possible NULL deref in hsr_handle_frame() l2tp: Allow duplicate session creation with UDP gtp: use __GFP_NOWARN to avoid memalloc warning cls_rsvp: fix rsvp_policy bnxt_en: Move devlink_register before registering netdev sparc32: fix struct ipc64_perm type definition ANDROID: Revert "ANDROID: gki_defconfig: removed CONFIG_PM_WAKELOCKS" ANDROID: dm: prevent default-key from being enabled without needed hooks UPSTREAM: crypto: x86 - Regularize glue function prototypes ANDROID: gki: x86: Enable PCI_MSI, WATCHDOG, HPET ANDROID: drm: Add support for DP 1.4 Compliance edid corruption test ANDROID: drm: Parse Colorimetry data block from EDID ANDROID: drm: fix HDR static metadata type field numbering ANDROID: Incremental fs: Make files writeable UPSTREAM: mfd: syscon: Add arguments support for syscon reference ANDROID: Incremental fs: Fix crash on failed lookup UPSTREAM: usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer ANDROID: support GKI image that contains an uncompressed Kernel Image. ANDROID: update ABI for 5.4.18 Linux 5.4.18 tracing/uprobe: Fix to make trace_uprobe_filter alignment safe Revert "rsi: fix potential null dereference in rsi_probe()" ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order mm/migrate.c: also overwrite error when it is bigger than zero perf report: Fix no libunwind compiled warning break s390 issue dm thin: fix use-after-free in metadata_pre_commit_callback flow_dissector: Fix to use new variables for port ranges in bpf hook cpuidle: teo: Avoid using "early hits" incorrectly btrfs: do not zero f_bavail if we have available space net: Fix skb->csum update in inet_proto_csum_replace16(). netfilter: nf_tables_offload: fix check the chain offload flag netfilter: conntrack: sctp: use distinct states for new SCTP connections l2t_seq_next should increase position index seq_tab_next() should increase position index net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G net/fsl: treat fsl,erratum-a011043 powerpc/fsl/dts: add fsl,erratum-a011043 qlcnic: Fix CPU soft lockup while collecting firmware dump ARM: dts: am43x-epos-evm: set data pin directions for spi0 and spi1 r8152: disable DelayPhyPwrChg r8152: avoid the MCU to clear the lanwake r8152: disable test IO for RTL8153B r8152: Disable PLA MCU clock speed down r8152: disable U2P3 for RTL8153B r8152: get default setting of WOL before initializing tee: optee: Fix compilation issue with nommu led: max77650: add of_match table ARM: 8955/1: virt: Relax arch timer version check during early boot scsi: fnic: do not queue commands during fwreset Input: max77650-onkey - add of_match table xfrm: interface: do not confirm neighbor when do pmtu update xfrm interface: fix packet tx through bpf_redirect() vti[6]: fix packet tx through bpf_redirect() ARM: dts: am335x-boneblack-common: fix memory size Input: evdev - convert kzalloc()/vzalloc() to kvzalloc() iwlwifi: dbg: force stop the debug monitor HW iwlwifi: Don't ignore the cap field upon mcc update iwlwifi: pcie: allocate smaller dev_cmd for TX headers XArray: Fix xas_pause at ULONG_MAX riscv: delete temporary files perf/x86/intel/uncore: Remove PCIe3 unit for SNR perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family wireless: wext: avoid gcc -O3 warning mac80211: Fix TKIP replay protection immediately after key setup cfg80211: Fix radar event during another phy CAC wireless: fix enabling channel 12 for custom regulatory domain lkdtm/bugs: fix build error in lkdtm_UNSET_SMEP parisc: Use proper printk format for resource_size_t qmi_wwan: Add support for Quectel RM500Q ASoC: sti: fix possible sleep-in-atomic ASoC: hdac_hda: Fix error in driver removal after failed probe ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers platform/x86: intel_pmc_core: update Comet Lake platform driver platform/x86: GPD pocket fan: Allow somewhat lower/higher temperature limits iavf: remove current MAC address filter on VF reset igb: Fix SGMII SFP module discovery for 100FX/LX. ixgbe: Fix calculation of queue with VFs and flow director on interface flap ixgbevf: Remove limit of 10 entries for unicast filter list i40e: Fix virtchnl_queue_select bitmap validation s390/zcrypt: move ap device reset from bus to driver code ASoC: rt5640: Fix NULL dereference on module unload clk: mmp2: Fix the order of timer mux parents mac80211: mesh: restrict airtime metric to peered established plinks clk: sunxi-ng: h6-r: Fix AR100/R_APB2 parent order clk: sunxi-ng: sun8i-r: Fix divider on APB0 clock rseq: Unregister rseq for clone CLONE_VM tools lib traceevent: Fix memory leakage in filter_event soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot ARM: dts: beagle-x15-common: Model 5V0 regulator ARM: dts: am57xx-beagle-x15/am57xx-idk: Remove "gpios" for endpoint dt nodes ARM: dts: sun8i: a83t: Correct USB3503 GPIOs polarity arm64: dts: meson-sm1-sei610: add gpio bluetooth interrupt clk: sunxi-ng: v3s: Fix incorrect number of hw_clks. cgroup: Prevent double killing of css when enabling threaded cgroup Bluetooth: Fix race condition in hci_release_sock() ttyprintk: fix a potential deadlock in interrupt context issue tomoyo: Use atomic_t for statistics counter media: dvb-usb/dvb-usb-urb.c: initialize actlen to 0 media: gspca: zero usb_buf media: vp7045: do not read uninitialized values if usb transfer fails media: af9005: uninitialized variable printked media: digitv: don't continue if remote control state can't be read reiserfs: Fix memory leak of journal device string mm/mempolicy.c: fix out of bounds write in mpol_parse_str() arm64: kbuild: remove compressed images on 'make ARCH=arm64 (dist)clean' tools lib: Fix builds when glibc contains strlcpy() PM / devfreq: Add new name attribute for sysfs perf c2c: Fix return type for histogram sorting comparision functions gfs2: Another gfs2_find_jhead fix e1000e: Revert "e1000e: Make watchdog use delayed work" e1000e: Drop unnecessary __E1000_DOWN bit twiddling x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup x86/resctrl: Fix use-after-free when deleting resource groups x86/resctrl: Fix a deadlock due to inaccurate reference cifs: fix soft mounts hanging in the reconnect code vfs: fix do_last() regression ANDROID: Incremental fs: Remove C++-style comments ANDROID: gki_defconfig: Set CONFIG_ANDROID_BINDERFS=y FROMLIST: selinux: Fix typo in filesystem name UPSTREAM: drm: Add DisplayPort colorspace property creation function UPSTREAM: drm: Rename HDMI colorspace property creation function ANDROID: db845c: Update db845c_gki.fragment to add support for bluetooth modules UPSTREAM: sched/rt: Make RT capacity-aware UPSTREAM: sched/fair: Make EAS wakeup placement consider uclamp restrictions UPSTREAM: sched/fair: Make task_fits_capacity() consider uclamp restrictions UPSTREAM: sched/uclamp: Rename uclamp_util_with() into uclamp_rq_util_with() UPSTREAM: sched/uclamp: Make uclamp util helpers use and return UL values BACKPORT: sched/uclamp: Remove uclamp_util() Revert "ANDROID: sched/fair: EAS: Add uclamp support to find_energy_efficient_cpu()" Linux 5.4.17 power/supply: ingenic-battery: Don't change scale if there's only one Revert "um: Enable CONFIG_CONSTRUCTORS" KVM: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE crypto: pcrypt - Fix user-after-free on module unload crypto: caam - do not reset pointer size from MCFGR register crypto: vmx - reject xts inputs that are too short crypto: af_alg - Use bh_lock_sock in sk_destruct rsi: fix non-atomic allocation in completion handler rsi: fix memory leak on failed URB submission rsi: fix use-after-free on probe errors rsi: fix use-after-free on failed probe and unbind bus: ti-sysc: Fix missing force mstandby quirk handling Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks ALSA: hda/realtek - Move some alc236 pintbls to fallback table usb-storage: Disable UAS on JMicron SATA enclosure bus: ti-sysc: Add module enable quirk for audio AESS mmc: sdhci-pci: Add support for Intel JSL mmc: sdhci-pci: Quirk for AMD SDHC Device 0x7906 ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition ARM: config: aspeed-g5: Enable 8250_DW quirks mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs perf/imx_ddr: Add enhanced AXI ID filter support iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping iommu/amd: Support multiple PCI DMA aliases in device table spi: pxa2xx: Add support for Intel Comet Lake-H bus: ti-sysc: Use swsup quirks also for am335x musb bus: ti-sysc: Handle mstandby quirk and use it for musb media: dvbsky: add support for eyeTV Geniatech T2 lite PCI: Add DMA alias quirk for Intel VCA NTB platform/x86: dell-laptop: disable kbd backlight on Inspiron 10xx staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute' libbpf: Fix BTF-defined map's __type macro handling of arrays drm/amdgpu/SRIOV: add navi12 pci id for SRIOV (v2) ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0 extcon-intel-cht-wc: Don't reset USB data connection at probe HID: steam: Fix input device disappearing atm: eni: fix uninitialized variable warning stmmac: debugfs entry name is not be changed when udev rename device name. drm/amd/display: Reduce HDMI pixel encoding if max clock is exceeded iommu/dma: fix variable 'cookie' set but not used gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP net: wan: sdla: Fix cast from pointer to integer of different size drivers/net/b44: Change to non-atomic bit operations on pwol_mask net: Google gve: Remove dma_wmb() before ringing doorbell spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls can: tcan4x5x: tcan4x5x_parse_config(): reset device before register access usb: musb: jz4740: Silence error if code is -EPROBE_DEFER watchdog: orion: fix platform_get_irq() complaints watchdog: rn5t618_wdt: fix module aliases watchdog: max77620_wdt: fix potential build errors HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID phy: cpcap-usb: Prevent USB line glitches from waking up modem ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime() ASoC: fsl_audmix: add missed pm_runtime_disable phy: qcom-qmp: Increase PHY ready timeout drivers/hid/hid-multitouch.c: fix a possible null pointer access. ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free ASoC: SOF: fix fault at driver unload after failed probe HID: wacom: Recognize new MobileStudio Pro PID HID: intel-ish-hid: ipc: add CMP device id HID: Add quirk for incorrect input length on Lenovo Y720 HID: asus: Ignore Asus vendor-page usage-code 0xff events HID: ite: Add USB id match for Acer SW5-012 keyboard dock HID: Add quirk for Xin-Mo Dual Controller arc: eznps: fix allmodconfig kconfig warning HID: multitouch: Add LG MELF0410 I2C touchscreen support rxrpc: Fix use-after-free in rxrpc_receive_data() net: include struct nhmsg size in nh nlmsg size mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' udp: segment looped gso packets correctly net: socionext: fix xdp_result initialization in netsec_process_rx net: socionext: fix possible user-after-free in netsec_process_rx net_sched: walk through all child classes in tc_bind_tclass() net_sched: fix ops->bind_class() implementations net_sched: ematch: reject invalid TCF_EM_SIMPLE zd1211rw: fix storage endpoint lookup rtl8xxxu: fix interface sanity check brcmfmac: fix interface sanity check ath9k: fix storage endpoint lookup cifs: Fix memory allocation in __smb2_handle_cancelled_cmd() cifs: set correct max-buffer-size for smb2_ioctl_init() CIFS: Fix task struct use-after-free on reconnect crypto: chelsio - fix writing tfm flags to wrong place driver core: Fix test_async_driver_probe if NUMA is disabled iio: st_gyro: Correct data for LSM9DS0 gyro iio: adc: stm32-dfsdm: fix single conversion mei: me: add comet point (lake) H device ids mei: hdcp: bind only with i915 on the same PCH binder: fix log spam for existing debugfs file creation. component: do not dereference opaque pointer in debugfs debugfs: Return -EPERM when locked down serial: imx: fix a race condition in receive path serial: 8250_bcm2835aux: Fix line mismatch on driver unbind staging: vt6656: Fix false Tx excessive retries reporting. staging: vt6656: use NULLFUCTION stack on mac80211 staging: vt6656: correct packet types for CTS protect, mode. staging: wlan-ng: ensure error return is actually returned staging: most: net: fix buffer overflow usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW usb: typec: wcove: fix "op-sink-microwatt" default that was in mW usb: dwc3: turn off VBUS when leaving host mode USB: serial: ir-usb: fix IrLAP framing USB: serial: ir-usb: fix link-speed handling USB: serial: ir-usb: add missing endpoint sanity check usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186 usb: dwc3: pci: add ID for the Intel Comet Lake -V variant rsi_91x_usb: fix interface sanity check orinoco_usb: fix interface sanity check Bluetooth: btusb: fix non-atomic allocation in completion handler ANDROID: scsi: ufs: fix collision between CRYPTO and RPM_AUTOSUSPEND bits ANDROID: gki: Removed cf modules from gki_defconfig ANDROID: Remove default y for VIRTIO_PCI_LEGACY ANDROID: gki_defconfig: enabled INTERCONNECT ANDROID: gki_defconfig: Remove SND_8X0 ANDROID: gki: Fixed some typos in Kconfig.gki ANDROID: gki_defconfig: Enable req modules in GKI ANDROID: modularize BLK_MQ_VIRTIO ANDROID: kallsyms: strip hashes from static functions with ThinLTO and CFI ANDROID: Incremental fs: Remove unneeded compatibility typedef ANDROID: Incremental fs: Enable incrementalfs in GKI ANDROID: Incremental fs: Fix sparse errors ANDROID: Fixing incremental fs style issues ANDROID: Make incfs selftests pass ANDROID: Initial commit of Incremental FS Linux 5.4.16 net/x25: fix nonblocking connect netfilter: nf_tables: autoload modules from the abort path netfilter: nf_tables: add __nft_chain_type_get() netfilter: ipset: use bitmap infrastructure completely media: v4l2-ioctl.c: zero reserved fields for S/TRY_FMT libertas: Fix two buffer overflows at parsing bss descriptor net/sonic: Prevent tx watchdog timeout net/sonic: Fix CAM initialization net/sonic: Fix command register usage net/sonic: Quiesce SONIC before re-initializing descriptor memory net/sonic: Fix receive buffer replenishment net/sonic: Improve receive descriptor status flag check net/sonic: Avoid needless receive descriptor EOL flag updates net/sonic: Fix receive buffer handling net/sonic: Fix interface error stats collection net/sonic: Use MMIO accessors net/sonic: Clear interrupt flags immediately net/sonic: Add mutual exclusion for accessing shared state readdir: be more conservative with directory entry names do_last(): fetch directory ->i_mode and ->i_uid before it's too late net, sk_msg: Don't check if sock is locked when tearing down psock xfrm: support output_mark for offload ESP packets drm/i915/userptr: fix size calculation iwlwifi: mvm: fix potential SKB leak on TXQ TX iwlwifi: mvm: fix SKB leak on invalid queue tracing: xen: Ordered comparison of function pointers scsi: RDMA/isert: Fix a recently introduced regression related to logout hwmon: (nct7802) Fix non-working alarm on voltages hwmon: (nct7802) Fix voltage limits to wrong registers hsr: Fix a compilation error leds: gpio: Fix uninitialized gpio label for fwnode based probe readdir: make user_access_begin() use the real access range iommu/amd: Fix IOMMU perf counter clobbering during init lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() netfilter: nft_osf: add missing check for DREG attribute Input: sun4i-ts - add a check for devm_thermal_zone_of_sensor_register Input: pegasus_notetaker - fix endpoint sanity check Input: aiptek - fix endpoint sanity check Input: gtco - fix endpoint sanity check Input: sur40 - fix interface sanity checks Input: pm8xxx-vib - fix handling of separate enable register net/tls: fix async operation mlxsw: switchx2: Do not modify cloned SKBs during xmit mmc: sdhci_am654: Reset Command and Data line after tuning mmc: sdhci_am654: Remove Inverted Write Protect flag mmc: sdhci: fix minimum clock rate for v3 controller mmc: tegra: fix SDR50 tuning override ARM: 8950/1: ftrace/recordmcount: filter relocation types Revert "Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers" Input: keyspan-remote - fix control-message timeouts iommu/vt-d: Call __dmar_remove_one_dev_info with valid pointer pinctrl: sunrisepoint: Add missing Interrupt Status register offset XArray: Fix xas_find returning too many entries XArray: Fix xa_find_after with multi-index entries XArray: Fix infinite loop with entry at ULONG_MAX iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues Revert "iwlwifi: mvm: fix scan config command size" powerpc/xive: Discard ESB load value when interrupt is invalid powerpc/mm/hash: Fix sharing context ids between kernel & userspace tracing: Fix histogram code when expression has same var as value tracing: Do not set trace clock if tracefs lockdown is in effect tracing/uprobe: Fix double perf_event linking on multiprobe uprobe tracing: trigger: Replace unneeded RCU-list traversals PM: hibernate: fix crashes with init_on_free=1 drm/i915: Align engine->uabi_class/instance with i915_drm.h drm/panfrost: Add the panfrost_gem_mapping concept PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken ceph: hold extra reference to r_parent over life of request hwmon: (core) Do not use device managed functions for memory allocations hwmon: (adt7475) Make volt2reg return same reg as reg2volt input afs: Fix characters allowed into cell names Revert "io_uring: only allow submit from owning task" ipv4: Detect rollover in specific fib table dump net/mlx5e: kTLS, Do not send decrypted-marked SKBs via non-accel path net/mlx5e: kTLS, Remove redundant posts in TX resync flow net/mlx5e: kTLS, Fix corner-case checks in TX resync flow net/mlx5: DR, use non preemptible call to get the current cpu number net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep net/mlx5: DR, Enable counter on non-fwd-dest objects net/mlx5: Update the list of the PCI supported devices net/mlx5: Fix lowest FDB pool size net: Fix packet reordering caused by GRO and listified RX cooperation fou: Fix IPv6 netlink policy mlxsw: spectrum_acl: Fix use-after-free during reload airo: Add missing CAP_NET_ADMIN check in AIROOLDIOCTL/SIOCDEVPRIVATE airo: Fix possible info leak in AIROOLDIOCTL/SIOCDEVPRIVATE tun: add mutex_unlock() call and napi.skb clearing in tun_get_user() tcp: do not leave dangling pointers in tp->highest_sack tcp_bbr: improve arithmetic division in bbr_update_bw() Revert "udp: do rmem bulk free even if the rx sk queue is empty" net: usb: lan78xx: Add .ndo_features_check net-sysfs: Fix reference count leak net_sched: use validated TCA_KIND attribute in tc_new_tfilter() net_sched: fix datalen for ematch net: rtnetlink: validate IFLA_MTU attribute in rtnl_create_link() net, ip_tunnel: fix namespaces move net, ip6_tunnel: fix namespaces move net: ip6_gre: fix moving ip6gre between namespaces net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM net: bcmgenet: Use netif_tx_napi_add() for TX NAPI ipv6: sr: remove SKB_GSO_IPXIP6 on End.D* actions gtp: make sure only SOCK_DGRAM UDP sockets are accepted firestream: fix memory leaks can, slip: Protect tty->disc_data in write_wakeup and close with RCU ANDROID: gki_defconfig: Set IKHEADERS back to =y ANDROID: gki_defconfig: Enable CONFIG_BTT f2fs: fix race conditions in ->d_compare() and ->d_hash() f2fs: fix dcache lookup of !casefolded directories f2fs: Add f2fs stats to sysfs f2fs: delete duplicate information on sysfs nodes f2fs: change to use rwsem for gc_mutex f2fs: update f2fs document regarding to fsync_mode f2fs: add a way to turn off ipu bio cache f2fs: code cleanup for f2fs_statfs_project() f2fs: fix miscounted block limit in f2fs_statfs_project() f2fs: show the CP_PAUSE reason in checkpoint traces f2fs: fix deadlock allocating bio_post_read_ctx from mempool f2fs: remove unneeded check for error allocating bio_post_read_ctx f2fs: convert inline_dir early before starting rename f2fs: fix memleak of kobject f2fs: fix to add swap extent correctly f2fs: run fsck when getting bad inode during GC f2fs: support data compression f2fs: free sysfs kobject f2fs: declare nested quota_sem and remove unnecessary sems f2fs: don't put new_page twice in f2fs_rename f2fs: set I_LINKABLE early to avoid wrong access by vfs f2fs: don't keep META_MAPPING pages used for moving verity file blocks f2fs: introduce private bioset f2fs: cleanup duplicate stats for atomic files f2fs: Check write pointer consistency of non-open zones f2fs: Check write pointer consistency of open zones f2fs: set GFP_NOFS when moving inline dentries f2fs: should avoid recursive filesystem ops f2fs: keep quota data on write_begin failure f2fs: call f2fs_balance_fs outside of locked page f2fs: preallocate DIO blocks when forcing buffered_io FROMGIT: ext4: Add EXT4_IOC_FSGETXATTR/EXT4_IOC_FSSETXATTR to compat_ioctl. ANDROID: gki_defconfig: Set IKHEADERS back to =m ANDROID: gki_defconfig: enable NVDIMM/PMEM options Linux 5.4.15 optee: Fix multi page dynamic shm pool alloc phy/rockchip: inno-hdmi: round clock rate down to closest 1000 Hz gpio: aspeed: avoid return type warning net-sysfs: Call dev_hold always in netdev_queue_add_kobject s390/qeth: fix dangling IO buffers after halt/clear block: fix memleak of bio integrity data platform/chrome: wilco_ec: fix use after free issue xdp: Fix cleanup on map free for devmap_hash map type drm/radeon: fix bad DMA from INTERRUPT_CNTL2 dmaengine: ti: edma: fix missed failure handling afs: Remove set but not used variables 'before', 'after' dma-direct: don't check swiotlb=force in dma_direct_map_resource mt76: mt76u: rely on usb_interface instead of usb_dev sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util() SUNRPC: Fix another issue with MIC buffer space workqueue: Add RCU annotation for pwq list walk tee: optee: fix device enumeration error handling tee: optee: Fix dynamic shm pool allocations mmc: core: fix wl1251 sdio quirks mmc: sdio: fix wl1251 vendor id firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT kselftests: cgroup: Avoid the reuse of fd after it is deallocated i2c: stm32f7: report dma error during probe packet: fix data-race in fanout_flow_is_huge() rtc: bd70528: fix module alias to autoload module selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ net: axienet: Fix error return code in axienet_probe() net: neigh: use long type to store jiffies delta rt2800: remove errornous duplicate condition hv_netvsc: flag software created hash value net: openvswitch: don't unlock mutex when changing the user_features fails scsi: ufs: delete redundant function ufshcd_def_desc_sizes() dpaa_eth: avoid timestamp read on error paths dpaa_eth: perform DMA unmapping before read rcu: Fix uninitialized variable in nocb_gp_wait() libbpf: Don't use kernel-side u32 type in xsk.c firmware: imx: Remove call to devm_of_platform_populate power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading drm/amdgpu/vi: silence an uninitialized variable warning regulator: bd70528: Add MODULE_ALIAS to allow module auto loading pwm: sun4i: Fix incorrect calculation of duty_cycle/period ACPI: platform: Unregister stale platform devices net: netsec: Correct dma sync for XDP_TX frames drm: rcar_lvds: Fix color mismatches on R-Car H2 ES2.0 and later PCI: mobiveil: Fix csr_read()/write() build issue software node: Get reference to parent swnode in get_parent op drm/rockchip: Round up _before_ giving to the clock framework dpaa2-eth: Fix minor bug in ethtool stats reporting hwrng: omap3-rom - Fix missing clock by probing with device tree drm/amdgpu: remove excess function parameter description drm: panel-lvds: Potential Oops in probe error handling drm/panfrost: Add missing check for pfdev->regulator rtw88: fix error handling when setup efuse info rtw88: fix beaconing mode rsvd_page memory violation issue gpiolib: No need to call gpiochip_remove_pin_ranges() twice sched/core: Further clarify sched_class::set_next_task() ipmi: Fix memory leak in __ipmi_bmc_register watchdog: sprd: Fix the incorrect pointer getting from driver data soc: aspeed: Fix snoop_file_poll()'s return type soc: renesas: Add missing check for non-zero product register address soc: qcom: llcc: Name regmaps to avoid collisions soc/tegra: pmc: Fix crashes for hierarchical interrupts leds: tlc591xx: update the maximum brightness perf map: No need to adjust the long name of modules crypto: sun4i-ss - fix big endian issues crypto: amcc - restore CRYPTO_AES dependency nfsd: depend on CRYPTO_MD5 for legacy client tracking s390/pkey: fix memory leak within _copy_apqns_from_user() ice: fix stack leakage mt7601u: fix bbp version check in mt7601u_wait_bbp_ready mt76: mt76u: fix endpoint definition order phy: ti: gmii-sel: fix mac tx internal delay for rgmii-rxid net: phy: broadcom: Fix RGMII delays configuration for BCM54210E phy: lantiq: vrx200-pcie: fix error return code in ltq_vrx200_pcie_phy_power_on() net/mlx5e: Fix free peer_flow when refcount is 0 tipc: fix wrong timeout input for tipc_wait_for_cond() tipc: fix wrong socket reference counter after tipc_sk_timeout() returns tipc: fix potential memory leak in __tipc_sendmsg() tipc: update mon's self addr when node addr generated tipc: reduce sensitive to retransmit failures powerpc/archrandom: fix arch_get_random_seed_int() powerpc/kasan: Fix boot failure with RELOCATABLE && FSL_BOOKE powerpc/pseries: Enable support for ibm,drc-info property powerpc/security: Fix debugfs data leak on 32-bit SUNRPC: Fix backchannel latency metrics SUNRPC: Fix svcauth_gss_proxy_init() mfd: intel-lpss: Add default I2C device properties for Gemini Lake i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop i2c: stm32f7: rework slave_id allocation xfs: Sanity check flags of Q_XQUOTARM call ARM: OMAP2+: Add missing put_device() call in omapdss_init_of() ARM: dts: logicpd-torpedo-37xx-devkit-28: Reference new DRM panel samples/bpf: Fix broken xdp_rxq_info due to map order assumptions samples: bpf: update map definition to new syntax BTF-defined map bpf: Force .BTF section start to zero when dumping from vmlinux libbpf: Make btf__resolve_size logic always check size error condition libbpf: Fix another potential overflow issue in bpf_prog_linfo libbpf: Fix potential overflow issue libbpf: Fix memory leak/double free issue libbpf: Fix compatibility for kernels without need_wakeup drm/i915: Fix pid leak with banned clients ANDROID: update ABI following inline crypto changes ANDROID: gki_defconfig: enable dm-default-key ANDROID: dm: add dm-default-key target for metadata encryption ANDROID: dm: enable may_passthrough_inline_crypto on some targets ANDROID: dm: add support for passing through inline crypto support ANDROID: block: Introduce passthrough keyslot manager ANDROID: ext4, f2fs: enable direct I/O with inline encryption FROMLIST: scsi: ufs: add program_key() variant op ANDROID: block: export symbols needed for modules to use inline crypto ANDROID: block: fix some inline crypto bugs UPSTREAM: mm/page_io.c: annotate refault stalls from swap_readpage FROMLIST: security: selinux: allow per-file labelling for binderfs Revert "ANDROID: security,perf: Allow further restriction of perf_event_open" ANDROID: selinux: modify RTM_GETLINK permission BACKPORT: tracing: Remove unnecessary DEBUG_FS dependency BACKPORT: debugfs: Fix !DEBUG_FS debugfs_create_automount Linux 5.4.14 scsi: lpfc: use hdwq assigned cpu for allocation perf script: Fix --reltime with --time hwmon: (pmbus/ibm-cffps) Fix LED blink behavior hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id clk: imx7ulp: Correct DDR clock mux options clk: imx7ulp: Correct system clock source option #7 clk: sprd: Use IS_ERR() to validate the return value of syscon_regmap_lookup_by_phandle() perf script: Allow --time with --reltime perf probe: Fix wrong address verification rtw88: fix potential read outside array boundary scsi: lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq() scsi: lpfc: Fix hdwq sgl locks and irq handling scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq scsi: core: scsi_trace: Use get_unaligned_be*() scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI scsi: scsi_transport_sas: Fix memory leak when removing devices scsi: hisi_sas: Return directly if init hardware failed scsi: lpfc: fix: Coverity: lpfc_get_scsi_buf_s3(): Null pointer dereferences scsi: target: core: Fix a pr_debug() argument scsi: bnx2i: fix potential use after free scsi: qla4xxx: fix double free bug scsi: hisi_sas: Set the BIST init value before enabling BIST scsi: hisi_sas: Don't create debugfs dump folder twice scsi: esas2r: unlock on error in esas2r_nvram_read_direct() reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr um: virtio_uml: Disallow modular build um: Don't trace irqflags during shutdown mtd: cfi_cmdset_0002: fix delayed error detection on HyperFlash mtd: cfi_cmdset_0002: only check errors when ready in cfi_check_err_status() mtd: devices: fix mchp23k256 read and write Revert "arm64: dts: juno: add dma-ranges property" ARM: dts: Fix sgx sysconfig register for omap4 arm64: dts: juno: Fix UART frequency ARM: dts: dra7: fix cpsw mdio fck clock arm64: dts: allwinner: a64: Re-add PMU node ARM: dts: imx6ul-kontron-n6310-s: Disable the snvs-poweroff driver arm64: dts: qcom: sdm845-cheza: delete zap-shader arm64: dts: imx8mm-evk: Assigned clocks for audio plls arm64: dts: renesas: r8a774a1: Remove audio port node arm64: dts: marvell: Fix CP110 NAND controller node multi-line comment alignment tick/sched: Annotate lockless access to last_jiffies_update cfg80211: check for set_wiphy_params arm64: dts: marvell: Add AP806-dual missing CPU clocks arm64: dts: renesas: r8a77970: Fix PWM3 arm64: dts: meson-gxl-s905x-khadas-vim: fix gpio-keys-polled node arm64: dts: meson: g12: fix audio fifo reg size arm64: dts: meson: axg: fix audio fifo reg size cw1200: Fix a signedness bug in cw1200_load_firmware() arm64: dts: qcom: msm8998: Disable coresight by default irqchip: Place CONFIG_SIFIVE_PLIC into the menu tcp: refine rule to allow EPOLLOUT generation under mem pressure dt-bindings: Add missing 'properties' keyword enclosing 'snps,tso' xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk devlink: Wait longer before warning about unset port type net: stmmac: tc: Do not setup flower filtering if RSS is enabled net: stmmac: selftests: Update status when disabling RSS selftests: mlxsw: qos_mc_aware: Fix mausezahn invocation net: stmmac: selftests: Mark as fail when received VLAN ID != expected net: stmmac: selftests: Make it work in Synopsys AXS101 boards mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters mlxsw: spectrum: Wipe xstats.backlog of down ports mlxsw: spectrum: Do not modify cloned SKBs during xmit sh_eth: check sh_eth_cpu_data::dual_port when dumping registers drm/amdgpu: allow direct upload save restore list for raven2 i40e: prevent memory leak in i40e_setup_macvlans net: dsa: bcm_sf2: Configure IMP port for 2Gb/sec net: sched: act_ctinfo: fix memory leak net: dsa: tag_gswip: fix typo in tagger name net: dsa: sja1105: Don't error out on disabled ports with no phy-mode net: systemport: Fixed queue mapping in internal ring map net: ethernet: ave: Avoid lockdep warning bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal. bnxt_en: Fix ipv6 RFS filter matching logic. bnxt_en: Fix NTUPLE firmware command failures. tcp: fix marked lost packets not being retransmitted r8152: add missing endpoint sanity check ptp: free ptp device pin descriptors properly net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info net: usb: lan78xx: limit size of local TSO packets net/sched: act_ife: initalize ife->metalist earlier net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset net: hns: fix soft lockup when there is not enough memory net: hns3: pad the short frame before sending to the hardware net: dsa: tag_qca: fix doubled Tx statistics net: avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key() hv_netvsc: Fix memory leak when removing rndis device macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() batman-adv: Fix DAT candidate selection on little endian systems bpftool: Fix printing incorrect pointer in btf_dump_ptr net: bpf: Don't leak time wait and request sockets NFC: pn533: fix bulk-message timeout netfilter: nf_tables: fix flowtable list del corruption netfilter: nf_tables: store transaction list locally while requesting module netfilter: nf_tables: remove WARN and add NLA_STRING upper limits netfilter: nft_tunnel: ERSPAN_VERSION must not be null netfilter: nft_tunnel: fix null-attribute check netfilter: nat: fix ICMP header corruption on ICMP errors netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct netfilter: fix a use-after-free in mtype_destroy() i2c: iop3xx: Fix memory leak in probe error path bpf/sockmap: Read psock ingress_msg before sk_receive_queue cfg80211: fix page refcount issue in A-MSDU decap cfg80211: fix memory leak in cfg80211_cqm_rssi_update cfg80211: fix memory leak in nl80211_probe_mesh_link cfg80211: fix deadlocks in autodisconnect work i2c: tegra: Properly disable runtime PM on driver's probe error i2c: tegra: Fix suspending in active runtime PM state bpf: Sockmap/tls, fix pop data with SK_DROP return code bpf: Sockmap/tls, skmsg can have wrapped skmsg that needs extra chaining bpf: Sockmap/tls, tls_sw can create a plaintext buf > encrypt buf bpf: Sockmap/tls, msg_push_data may leave end mark in place bpf: Sockmap, skmsg helper overestimates push, pull, and pop bounds bpf: Sockmap/tls, push write_space updates through ulp updates bpf: Sockmap, ensure sock lock held during tear down bpf: Sockmap/tls, during free we may call tcp_bpf_unhash() in loop bpf: Fix incorrect verifier simulation of ARSH under ALU32 drm/amd/display: Reorder detect_edp_sink_caps before link settings read. block: Fix the type of 'sts' in bsg_queue_rq() net: fix kernel-doc warning in <linux/netdevice.h> tipc: fix retrans failure due to wrong destination tipc: fix potential hanging after b/rcast changing reset: Fix {of,devm}_reset_control_array_get kerneldoc return types net: stmmac: Enable 16KB buffer size net: stmmac: 16KB buffer must be 16 byte aligned ARM: dts: imx7: Fix Toradex Colibri iMX7S 256MB NAND flash support ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL ARM: dts: imx6sll-evk: Remove incorrect power supply assignment ARM: dts: imx6sl-evk: Remove incorrect power supply assignment ARM: dts: imx6sx-sdb: Remove incorrect power supply assignment ARM: dts: imx6qdl-sabresd: Remove incorrect power supply assignment mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio() mm/memory_hotplug: don't free usage map when removing a re-added early section Btrfs: always copy scrub arguments back to user space btrfs: check rw_devices, not num_devices for balance btrfs: fix memory leak in qgroup accounting btrfs: relocation: fix reloc_root lifespan and access btrfs: do not delete mismatched root refs btrfs: fix invalid removal of root ref btrfs: rework arguments of btrfs_unlink_subvol mm, debug_pagealloc: don't rely on static keys too early mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid mm: memcg/slab: fix percpu slab vmstats flushing mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment perf report: Fix incorrectly added dimensions as switch perf data file locking/lockdep: Fix buffer overrun problem in stack_trace[] perf hists: Fix variable name's inconsistency in hists__for_each() macro clk: samsung: exynos5420: Keep top G3D clocks enabled s390/setup: Fix secure ipl message efi/earlycon: Fix write-combine mapping on x86 x86/resctrl: Fix potential memory leak drm/i915: Add missing include file <linux/math64.h> mtd: spi-nor: Fix selection of 4-byte addressing opcodes on Spansion scsi: storvsc: Correctly set number of hardware queues for IDE disk s390/zcrypt: Fix CCA cipher key gen with clear key value function x86/efistub: Disable paging at mixed mode entry perf/x86/intel/uncore: Fix missing marker for snr_uncore_imc_freerunning_events locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWN x86/CPU/AMD: Ensure clearing of SME/SEV features is maintained x86/resctrl: Fix an imbalance in domain_remove_cpu() cpu/SMT: Fix x86 link error without CONFIG_SYSFS usb: core: hub: Improved device recognition on remote wakeup mtd: rawnand: gpmi: Restore nfc timing setup after suspend/resume mtd: rawnand: gpmi: Fix suspend/resume problem ptrace: reintroduce usage of subjective credentials in ptrace_has_cap() scsi: mptfusion: Fix double fetch bug in ioctl scsi: fnic: fix invalid stack access staging: comedi: ni_routes: allow partial routing information staging: comedi: ni_routes: fix null dereference in ni_find_route_source() USB: serial: quatech2: handle unbound ports USB: serial: keyspan: handle unbound ports USB: serial: io_edgeport: add missing active-port sanity check USB: serial: io_edgeport: handle unbound ports on URB completion USB: serial: ch341: handle unbound port at reset_resume USB: serial: suppress driver bind attributes USB: serial: option: add support for Quectel RM500Q in QDL mode USB: serial: opticon: fix control-message timeouts USB: serial: option: Add support for Quectel RM500Q USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx iio: buffer: align the size of scan bytes to size of the largest element iio: chemical: pms7003: fix unmet triggered buffer dependency iio: light: vcnl4000: Fix scale for vcnl4040 iio: imu: st_lsm6dsx: Fix selection of ST_LSM6DS3_ID iio: adc: ad7124: Fix DT channel configuration perf: Correctly handle failed perf_get_aux_event() ARM: davinci: select CONFIG_RESET_CONTROLLER ARM: dts: am571x-idk: Fix gpios property to have the correct gpio number cpuidle: teo: Fix intervals[] array indexing bug io_uring: only allow submit from owning task fuse: fix fuse_send_readpages() in the syncronous read case block: fix an integer overflow in logical block size clk: sunxi-ng: r40: Allow setting parent rate for external clock outputs Fix built-in early-load Intel microcode alignment arm64: dts: agilex/stratix10: fix pmu interrupt numbers arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator ALSA: usb-audio: fix sync-ep altsetting sanity check ALSA: firewire-tascam: fix corruption due to spin lock without restoration in SoftIRQ context ALSA: seq: Fix racy access for queue timer in proc read ALSA: dice: fix fallback from protocol extension into limited functionality ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk ARM: dts: imx6q-dhcom: Fix SGTL5000 VDDIO regulator connection ARM: dts: imx7ulp: fix reg of cpu node ARM: OMAP2+: Fix ti_sysc_find_one_clockdomain to check for to_clk_hw_omap ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1 ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1 ASoC: stm32: dfsdm: fix 16 bits record ASoC: stm32: sai: fix possible circular locking ASoC: msm8916-wcd-digital: Reset RX interpolation path after use arm64: dts: imx8mq-librem5-devkit: use correct interrupt for the magnetometer Revert "gpio: thunderx: Switch to GPIOLIB_IRQCHIP" clk: Don't try to enable critical clocks if prepare failed bus: ti-sysc: Fix iterating over clocks arm64: dts: imx8mm: Change SDMA1 ahb clock for imx8mm arm64: dts: ls1028a: fix endian setting for dcfg ARM: dts: imx6q-dhcom: fix rtc compatible dt-bindings: reset: meson8b: fix duplicate reset IDs soc: amlogic: meson-ee-pwrc: propagate errors from pm_genpd_init() soc: amlogic: meson-ee-pwrc: propagate PD provider registration errors clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs ARM: dts: meson8: fix the size of the PMU registers ANDROID: gki: Make GKI specific modules builtins ANDROID: virtio-net: Skip set_features on non-cvq devices ANDROID: fscrypt: add support for hardware-wrapped keys ANDROID: block: add KSM op to derive software secret from wrapped key ANDROID: block: provide key size as input to inline crypto APIs ANDROID: ufshcd-crypto: export cap find API ANDROID: build config for cuttlefish ramdisk ANDROID: x86: gki_defconfig: enable LTO and CFI ANDROID: x86: map CFI jump tables in pti_clone_entry_text ANDROID: x86, module: Ignore __typeid__ relocations ANDROID: x86, relocs: Ignore __typeid__ relocations ANDROID: x86/alternatives: Use C int3 selftest but disable KASAN ANDROID: x86/extable: Do not mark exception callback as CFI ANDROID: x86, build: allow LTO_CLANG and THINLTO to be selected ANDROID: x86: disable UNWINDER_ORC with LTO_CLANG ANDROID: x86: disable STACK_VALIDATION with LTO_CLANG ANDROID: x86: disable HAVE_ARCH_PREL32_RELOCATIONS with LTO_CLANG ANDROID: x86/vdso: disable LTO only for VDSO FROMLIST: crypto, x86/sha: Eliminate casts on asm implementations UPSTREAM: x86/vmlinux: Actually use _etext for the end of the text segment Linux 5.4.13 ocfs2: call journal flush to mark journal as empty after journal recovery when mount hexagon: work around compiler crash hexagon: parenthesize registers in asm predicates kbuild/deb-pkg: annotate libelf-dev dependency as :native media: intel-ipu3: Align struct ipu3_uapi_awb_fr_config_s to 32 bytes drm/amdgpu: enable gfxoff for raven1 refresh ioat: ioat_alloc_ring() failure handling. s390/qeth: lock the card while changing its hsuid dmaengine: k3dma: Avoid null pointer traversal rxrpc: Fix missing security check on incoming calls rxrpc: Don't take call->user_mutex in rxrpc_new_incoming_call() rxrpc: Unlock new call in rxrpc_new_incoming_call() rather than the caller drm/arm/mali: make malidp_mw_connector_helper_funcs static MIPS: Prevent link failure with kcov instrumentation tomoyo: Suppress RCU warning at list_for_each_entry_rcu(). mips: Fix gettimeofday() in the vdso library mips: cacheinfo: report shared CPU map riscv: export flush_icache_all to modules rseq/selftests: Turn off timeout setting selftests: firmware: Fix it to do root uid check and skip scsi: target/iblock: Fix protection error with blocks greater than 512B scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy() gpio: mpc8xxx: Add platform device to gpiochip->parent rtc: bd70528: Add MODULE ALIAS to autoload module rtc: brcmstb-waketimer: add missed clk_disable_unprepare rtc: msm6242: Fix reading of 10-hour digit NFSD fixing possible null pointer derefering in copy offload f2fs: fix potential overflow sch_cake: Add missing NLA policy entry TCA_CAKE_SPLIT_GSO iwlwifi: mvm: fix support for single antenna diversity rtlwifi: Remove unnecessary NULL check in rtl_regd_init iwlwifi: mvm: consider ieee80211 station max amsdu value spi: lpspi: fix memory leak in fsl_lpspi_probe spi: rspi: Use platform_get_irq_byname_optional() for optional irqs spi: atmel: fix handling of cs_change set on non-last xfer spi: pxa2xx: Set controller->max_transfer_size in dma mode mtd: spi-nor: fix silent truncation in spi_nor_read_raw() mtd: spi-nor: fix silent truncation in spi_nor_read() spi: sprd: Fix the incorrect SPI register ubifs: do_kill_orphans: Fix a memory leak bug ubifs: Fixed missed le64_to_cpu() in journal Revert "ubifs: Fix memory leak bug in alloc_ubifs_info() error path" memory: mtk-smi: Add PM suspend and resume ops iommu/mediatek: Add a new tlb_lock for tlb_flush iommu/mediatek: Correct the flush_iotlb_all callback media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly media: aspeed-video: Fix memory leaks in aspeed_video_probe media: hantro: Do not reorder H264 scaling list media: cedrus: Use correct H264 8x8 scaling list media: coda: fix deadlock between decoder picture run and start command media: exynos4-is: Fix recursive locking in isp_video_release() media: v4l: cadence: Fix how unsued lanes are handled in 'csi2rx_start()' media: hantro: h264: Fix the frame_num wraparound case media: rcar-vin: Fix incorrect return statement in rvin_try_format() media: ov6650: Fix default format not applied on device probe media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support media: ov6650: Fix some format attributes not under control media: ov6650: Fix incorrect use of JPEG colorspace ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC tty: serial: pch_uart: correct usage of dma_unmap_sg tty: serial: imx: use the sg count from dma_map_sg MIPS: SGI-IP27: Fix crash, when CPUs are disabled via nr_cpus parameter MIPS: Loongson: Fix return value of loongson_hwmon_init MIPS: PCI: remember nasid changed by set interrupt affinity powerpc/powernv: Disable native PCIe port management PCI/PTM: Remove spurious "d" from granularity message tools: PCI: Fix fd leakage PCI/PM: Clear PCIe PME Status even for legacy power management PCI: Fix missing bridge dma_ranges resource list cleanup PCI: dwc: Fix find_next_bit() usage PCI: aardvark: Fix PCI_EXP_RTCTL register configuration PCI: aardvark: Use LTSSM state to build link training flag compat_ioctl: handle SIOCOUTQNSD af_unix: add compat_ioctl support gfs2: add compat_ioctl support arm64: dts: apq8096-db820c: Increase load on l21 for SDCARD scsi: sd: enable compat ioctls for sed-opal drm/amdgpu/discovery: reserve discovery data at the top of VRAM drm/amdgpu: cleanup creating BOs at fixed location (v2) Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." PCI: pciehp: Do not disable interrupt twice on suspend pinctrl: lewisburg: Update pin list according to v1.1v6 pinctrl: sh-pfc: Do not use platform_get_irq() to count interrupts pinctrl: sh-pfc: Fix PINMUX_IPSR_PHYS() to set GPSR pinctl: ti: iodelay: fix error checking on pinctrl_count_index_with_args call affs: fix a memory leak in affs_remount rsi: fix potential null dereference in rsi_probe() clk: imx: pll14xx: Fix quick switch of S/K parameter dmaengine: dw: platform: Mark 'hclk' clock optional clk: Fix memory leak in clk_unregister() clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume clk: meson: axg-audio: fix regmap last register mei: fix modalias documentation iio: imu: adis16480: assign bias value only if operation succeeded iio: imu: st_lsm6dsx: fix gyro gain definitions for LSM9DS1 NFSv4.x: Drop the slot if nfs4_delegreturn_prepare waits for layoutreturn NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process() nfsd: v4 support requires CRYPTO_SHA256 nfsd: Fix cld_net->cn_tfm initialization NFSv2: Fix a typo in encode_sattr() crypto: geode-aes - convert to skcipher API and make thread-safe crypto: algif_skcipher - Use chunksize instead of blocksize crypto: virtio - implement missing support for output IVs crypto: arm64/aes-neonbs - add return value of skcipher_walk_done() in __xts_crypt() crypto: hisilicon - select NEED_SG_DMA_LENGTH in qm Kconfig crypto: cavium/nitrox - fix firmware assignment to AE cores scsi: ufs: Give an unique ID to each ufs-bsg dm: add dm-clone to the documentation index xprtrdma: Fix oops in Receive handler after device removal xprtrdma: Fix completion wait during device removal xprtrdma: Fix create_qp crash on device unload Documentation/ABI: Add missed attribute for mlxreg-io sysfs interfaces Documentation/ABI: Fix documentation inconsistency for mlxreg-io sysfs interfaces asm-generic/nds32: don't redefine cacheflush primitives platform/x86: GPD pocket fan: Use default values when wrong modparams are given platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0 platform/mellanox: fix potential deadlock in the tmfifo driver scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI scsi: enclosure: Fix stale device oops with hot replug keys: Fix request_key() cache afs: Fix afs_lookup() to not clobber the version on a new dentry afs: Fix use-after-loss-of-ref libbpf: Fix Makefile' libbpf symbol mismatch diagnostic bpf: Support pre-2.25-binutils objcopy for vmlinux BTF bpf: skmsg, fix potential psock NULL pointer dereference bpf: Make use of probe_user_write in probe write helper uaccess: Add non-pagefault user-space write function RDMA/srpt: Report the SCSI residual to the initiator RDMA/mlx5: Return proper error value rdma: Remove nes ABI header RDMA/hns: Bugfix for qpc/cqc timer configuration RDMA/hns: Fix to support 64K page for srq xprtrdma: Close window between waking RPC senders and posting Receives xprtrdma: Fix MR list handling xprtrdma: Connection becomes unstable after a reconnect xprtrdma: Add unique trace points for posting Local Invalidate WRs RDMA/hns: Release qp resources when failed to destroy qp RDMA/hns: Fix build error again RDMA/siw: Fix port number endianness in a debug message RDMA/counter: Prevent QP counter manual binding in auto mode RDMA/hns: Modify return value of restrack functions RDMA/hns: remove a redundant le16_to_cpu RDMA/hns: Prevent undefined behavior in hns_roce_set_user_sq_size() ASoC: rsnd: fix DALIGN register for SSIU ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy driver ASoC: fsl_esai: Add spin lock to protect reset, stop and start ASoC: simple_card_utils.h: Add missing include ASoC: dt-bindings: mt8183: add missing update netfilter: nft_meta: use 64-bit time arithmetic netfilter: nf_tables_offload: release flow_rule on error from commit path btrfs: simplify inode locking for RWF_NOWAIT hsr: fix slab-out-of-bounds Read in hsr_debugfs_rename() syscalls/x86: Fix function types in COND_SYSCALL syscalls/x86: Use the correct function type for sys_ni_syscall syscalls/x86: Use COMPAT_SYSCALL_DEFINE0 for IA32 (rt_)sigreturn syscalls/x86: Wire up COMPAT_SYSCALL_DEFINE0 perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description afs: Fix missing cell comparison in afs_test_super() reset: brcmstb: Remove resource checks dt-bindings: reset: Fix brcmstb-reset example can: j1939: fix address claim code example ath9k: use iowrite32 over __raw_writel MAINTAINERS: Append missed file to the database scsi: smartpqi: Update attribute name to `driver_version` cifs: Adjust indentation in smb2_open_file s390/qeth: fix initialization on old HW s390/qeth: vnicc Fix init to default s390/qeth: Fix vnicc_is_in_use if rx_bcast not set s390/qeth: fix false reporting of VNIC CHAR config failure s390/qeth: fix qdio teardown after early init error hsr: reset network header when supervision frame is created hsr: rename debugfs file when interface name is changed hsr: add hsr root debugfs directory drm/tegra: Fix ordering of cleanup code PCI: amlogic: Fix probed clock names PM / devfreq: tegra: Add COMMON_CLK dependency gpio: Fix error message on out-of-range GPIO in lookup table scsi: mpt3sas: Fix double free in attach error handling fs: move guard_bio_eod() after bio_set_op_attrs bpf: cgroup: prevent out-of-order release of cgroup bpf iommu: Remove device link to group on failure iommu/vt-d: Unlink device if failed to add to group selftests: loopback.sh: skip this test if the driver does not support pinctrl: meson: Fix wrong shift value when get drive-strength gpio: zynq: Fix for bug in zynq_gpio_restore_context API mtd: onenand: omap2: Pass correct flags for prep_dma_memcpy ASoC: SOF: imx8: Fix dsp_box offset netfilter: nft_flow_offload: fix underflow in flowtable reference counter pinctrl: lochnagar: select GPIOLIB ASoC: stm32: spdifrx: fix input pin state management ASoC: stm32: spdifrx: fix race condition in irq handler ASoC: stm32: spdifrx: fix inconsistent lock state ASoC: soc-core: Set dpcm_playback / dpcm_capture ASoC: SOF: imx8: fix memory allocation failure check on priv->pd_dev i2c: bcm2835: Store pointer to bus clock mtd: rawnand: stm32_fmc2: avoid to lock the CPU bus IB/hfi1: Don't cancel unused work item RDMA/bnxt_re: Fix Send Work Entry state check while polling completions RDMA/bnxt_re: Avoid freeing MR resources if dereg fails phy: mapphone-mdm6600: Fix uninitialized status value regression rtc: mt6397: fix alarm register overwrite HID: hidraw, uhid: Always report EPOLLOUT FROMGIT: drivers/iommu: Initialise module 'owner' field in iommu_device_set_ops() USB: f_accessory: Check dev pointer before decoding ctrl request Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." ANDROID: update kernel ABI for CONFIG_DUMMY ANDROID: update ABI whitelist UPSTREAM: dmaengine: k3dma: Avoid null pointer traversal GKI: enable CONFIG_DUMMY=y ANDROID: update kernel ABI for f2fs/fscrypt/other changes ANDROID: db845c: Add build config ANDROID: db845c: add db845c_gki.fragment FROMLIST: usb: dwc3: gadget: Correct the logic for finding last SG entry FROMLIST: usb: xhci: provide a debugfs hook for erasing rom FROMLIST: usb: renesas-xhci: allow multiple firmware versions FROMLIST: usb: renesas-xhci: Add ROM loader for uPD720201 FROMLIST: usb: renesas-xhci: Add the renesas xhci driver FROMLIST: usb: xhci: export few functions ANDROID: arm64: dts: db845c: Add clocks entry to display to track real clock inputs ANDROID: arm64: dts: db845c: add Low speed expansion i2c and spi nodes ANDROID: arm64: dts: qcom: sdm845-db845c: Bring in LT9611 ANDROID: arm64: dts: qcom: db845c: Enable PCIe controllers ANDROID: arm64: dts: qcom: sdm845: Add second PCIe PHY and controller ANDROID: arm64: dts: qcom: sdm845: Add first PCIe controller and PHY ANDROID: arm64: dts/sdm845: Enable FW implemented safe sequence handler on MTP ANDROID: drm/bridge: Introduce LT9611 DSI to HDMI bridge FROMLIST: drm: msm: Quiet down plane errors in atomic_check FROMLIST: reset: qcom-aoss: Allow CONFIG_RESET_QCOM_AOSS to be a tristate FROMLIST: tty: serial: Kconfig: Allow SERIAL_QCOM_GENI_CONSOLE to be enabled if SERIAL_QCOM_GENI is a module FROMLIST: lib/list_sort: fix function type mismatches UPSTREAM: kcov: fix struct layout for kcov_remote_arg GKI: enable CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y Linux 5.4.12 drm/i915/gen9: Clear residual context state on context switch netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present netfilter: conntrack: dccp, sctp: handle null timeout argument netfilter: arp_tables: init netns pointer in xt_tgchk_param struct phy: cpcap-usb: Fix flakey host idling and enumerating of devices phy: cpcap-usb: Fix error path when no host driver is loaded USB: Fix: Don't skip endpoint descriptors with maxpacket=0 HID: hiddev: fix mess in hiddev_open() ath10k: fix memory leak rtl8xxxu: prevent leaking urb scsi: bfa: release allocated memory in case of error rpmsg: char: release allocated memory mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf mwifiex: fix possible heap overflow in mwifiex_process_country_ie() staging: vt6656: remove bool from vnt_radio_power_on ret um: Implement copy_thread_tls clone3: ensure copy_thread_tls is implemented xtensa: Implement copy_thread_tls riscv: Implement copy_thread_tls parisc: Implement copy_thread_tls arm: Implement copy_thread_tls arm64: Implement copy_thread_tls arm64: Move __ARCH_WANT_SYS_CLONE3 definition to uapi headers tty: always relink the port tty: link tty and port before configuring it as console iommu/vt-d: Fix adding non-PCI devices to Intel IOMMU serdev: Don't claim unsupported ACPI serial devices staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21 staging: vt6656: limit reg output to block size staging: vt6656: correct return of vnt_init_registers. staging: comedi: adv_pci1710: fix AI channels 16-31 for PCI-1713 usb: musb: dma: Correct parameter passed to IRQ handler usb: musb: Disable pullup at init usb: musb: fix idling for suspend after disconnect interrupt USB: serial: option: add ZLP support for 0x1bc7/0x9010 USB-PD tcpm: bad warning+size, PPS adapters usb: ohci-da8xx: ensure error return on variable error is set usb: cdns3: should not use the same dev_id for shared interrupt handler staging: vt6656: Fix non zero logical return of, usb_control_msg staging: vt6656: set usb_set_intfdata on driver fail. pstore/ram: Regularize prz label allocation lifetime gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism gpiolib: acpi: Turn dmi_system_id table into a generic quirk table can: can_dropped_invalid_skb(): ensure an initialized headroom in outgoing CAN sk_buffs can: mscan: mscan_rx_poll(): fix rx path lockup when returning from polling to irq mode can: tcan4x5x: tcan4x5x_can_probe(): get the device out of standby before register access can: gs_usb: gs_usb_probe(): use descriptors of current altsetting can: kvaser_usb: fix interface sanity check IB/hfi1: Adjust flow PSN with the correct resync_psn drm/i915/gt: Mark up virtual engine uabi_instance drm/i915: Add Wa_1407352427:icl,ehl drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ drm/fb-helper: Round up bits_per_pixel if possible drm/sun4i: tcon: Set RGB DCLK min. divider based on hardware model Revert "drm/amdgpu: Set no-retry as default." drm/i915: Add Wa_1408615072 and Wa_1407596294 to icl,ehl Input: input_event - fix struct padding on sparc64 Input: add safety guards to input_set_keycode() HID: hid-input: clear unmapped usages HID: hidraw: Fix returning EPOLLOUT from hidraw_poll HID: uhid: Fix returning EPOLLOUT from uhid_char_poll HID: Fix slab-out-of-bounds read in hid_field_extract tracing: Change offset type to s32 in preempt/irq tracepoints tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined kernel/trace: Fix do not unregister tracepoints when register sched_migrate_task fail rtc: sun6i: Add support for RTC clocks on R40 tpm: Handle negative priv->response_len in tpm_common_read() tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's" tpm: Revert "tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts" tpm: Revert "tpm_tis: reserve chip for duration of tpm_tis_core_init" ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga X1 7th gen ALSA: hda/realtek - Set EAPD control to default for ALC222 ALSA: hda/realtek - Add new codec supported for ALCS1200A ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5 usb: chipidea: host: Disable port power only if previously enabled powercap: intel_rapl: add NULL pointer check to rapl_mmio_cpu_online() i2c: fix bus recovery stop mode timing chardev: Avoid potential use-after-free in 'chrdev_open()' UPSTREAM: vhost, kcov: collect coverage from vhost_worker UPSTREAM: usb, kcov: collect coverage from hub_event ANDROID: update kernel ABI for kcov changes UPSTREAM: kcov: remote coverage support ANDROID: gki_defconfig: Enable blk-crypto fallback BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series ANDROID: tty: serdev: Fix broken serial console input ANDROID: reset: hisi-reboot: adb reboot bootloader Linux 5.4.11 usb: missing parentheses in USE_NEW_SCHEME USB: serial: option: add Telit ME910G1 0x110a composition USB: core: fix check for duplicate endpoints usb: dwc3: gadget: Fix request complete check net/mlx5: DR, Init lists that are used in rule's member net/mlx5e: Fix hairpin RSS table size net/mlx5: DR, No need for atomic refcount for internal SW steering resources net/mlx5e: Always print health reporter message to dmesg net: dsa: mv88e6xxx: force cmode write on 6141/6341 net/mlx5: Move devlink registration before interfaces load macb: Don't unregister clks unconditionally vlan: vlan_changelink() should propagate errors vlan: fix memory leak in vlan_dev_set_egress_priority net: sch_prio: When ungrafting, replace with FIFO mlxsw: spectrum_qdisc: Ignore grafting of invisible FIFO vxlan: fix tos value before xmit tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY sch_cake: avoid possible divide by zero in cake_enqueue() pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM net: usb: lan78xx: fix possible skb leak net: stmmac: Fixed link does not need MDIO Bus net: stmmac: dwmac-sunxi: Allow all RGMII modes net: stmmac: dwmac-sun8i: Allow all RGMII modes net: freescale: fec: Fix ethtool -d runtime PM net: dsa: mv88e6xxx: Preserve priority when setting CPU port. macvlan: do not assume mac_header is set in macvlan_broadcast() gtp: fix bad unlock balance in gtp_encap_enable_socket tracing: Do not create directories if lockdown is in affect selftests: pmtu: fix init mtu value in description hv_netvsc: Fix unwanted rx_table reset llc2: Fix return statement of llc_stat_ev_rx_null_dsap_xid_c (and _test_c) s390/qeth: don't return -ENOTSUPP to userspace s390/qeth: fix promiscuous mode after reset s390/qeth: handle error due to unsupported transport mode sbitmap: only queue kyber's wait callback if not already active parisc: Fix compiler warnings in debug_core.c block: fix memleak when __blk_rq_map_user_iov() is failed s390/dasd: fix memleak in path handling error case s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly block: Fix a lockdep complaint triggered by request queue flushing arm64: cpu_errata: Add Hisilicon TSV110 to spectre-v2 safe list platform/x86: pcengines-apuv2: fix simswap GPIO assignment net/ixgbe: Fix concurrency issues between config flow and XSK net/i40e: Fix concurrency issues between config flow and XSK net/mlx5e: Fix concurrency issues between config flow and XSK xsk: Add rcu_read_lock around the XSK wakeup tpm/tpm_ftpm_tee: add shutdown call back drm/exynos: gsc: add missed component_del s390/purgatory: do not build purgatory with kcov, kasan and friends net: stmmac: Always arm TX Timer at end of transmission start net: stmmac: RX buffer size must be 16 byte aligned net: stmmac: xgmac: Clear previous RX buffer size net: stmmac: Do not accept invalid MTU values net: stmmac: Determine earlier the size of RX buffer net: stmmac: selftests: Needs to check the number of Multicast regs clk: Move clk_core_reparent_orphans() under CONFIG_OF io_uring: don't wait when under-submitting iommu/dma: Relax locking in iommu_dma_prepare_msi() perf/smmuv3: Remove the leftover put_cpu() in error path fs: call fsnotify_sb_delete after evict_inodes fs: avoid softlockups in s_inodes iterators block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT usb: typec: fusb302: Fix an undefined reference to 'extcon_get_state' psi: Fix a division error in psi poll() sched/psi: Fix sampling error and rare div0 crashes with cgroups and high uptime perf/x86/intel: Fix PT PMI handling perf/x86: Fix potential out-of-bounds access scripts: package: mkdebian: add missing rsync dependency kconfig: don't crash on NULL expressions in expr_eq() iommu/iova: Init the struct iova to fix the possible memleak staging: axis-fifo: add unspecified HAS_IOMEM dependency clk: at91: fix possible deadlock spi: nxp-fspi: Ensure width is respected in spi-mem operations regulator: rn5t618: fix module aliases ASoC: wm8962: fix lambda value rfkill: Fix incorrect check to avoid NULL pointer dereference parisc: add missing __init annotation parisc: fix compilation when KEXEC=n and KEXEC_FILE=y net: usb: lan78xx: Fix error message format specifier cxgb4: Fix kernel panic while accessing sge_info bnx2x: Fix logic to get total no. of PFs per engine bnx2x: Do not handle requests from VFs after parity habanalabs: remove variable 'val' set but not used habanalabs: rate limit error msg on waiting for CS bpf: Clear skb->tstamp in bpf_redirect when necessary ocxl: Fix potential memory leak on context creation Btrfs: fix hole extent items with a zero size after range cloning btrfs: handle error in btrfs_cache_block_group powerpc/spinlocks: Include correct header for static key powerpc/vcpu: Assume dedicated processors as non-preempt Btrfs: fix cloning range with a hole when using the NO_HOLES feature btrfs: Fix error messages in qgroup_rescan_init powerpc: Ensure that swiotlb buffer is allocated from low memory pinctrl: pinmux: fix a possible null pointer in pinmux_can_be_used_for_gpio cfg80211: fix double-free after changing network namespace mac80211: fix TID field in monitor mode transmit clk: walk orphan list on clock provider registration bus: ti-sysc: Fix missing reset delay handling pinctrl: aspeed-g6: Fix LPC/eSPI mux configuration ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS arm64: dts: ls1028a: fix reboot node samples: bpf: fix syscall_tp due to unused syscall samples: bpf: Replace symbol compare of trace_event kselftest: Support old perl versions kselftest/runner: Print new line in print of timeout log ARM: dts: am437x-gp/epos-evm: fix panel compatible spi: spi-ti-qspi: Fix a bug when accessing non default CS perf header: Fix false warning when there are no duplicate cache entries perf metricgroup: Fix printing event names of metric group with multiple events bpftool: Don't crash on missing jited insns or ksyms bpf, mips: Limit to 33 tail calls bpf, riscv: Limit to 33 tail calls arm64: dts: ls1028a: fix typo in TMU calibration data ARM: dts: bcm283x: Fix critical trip point ARM: omap2plus_defconfig: Add back DEBUG_FS ARM: dts: am335x-sancloud-bbe: fix phy mode ASoC: SOF: Intel: split cht and byt debug window sizes ASoC: SOF: loader: snd_sof_fw_parse_ext_data log warning on unknown header ASoC: topology: Check return value for soc_tplg_pcm_create() ASoC: topology: Check return value for snd_soc_add_dai_link() reset: Do not register resource data for missing resets spi: spi-cavium-thunderx: Add missing pci_release_regions() ARM: dts: Cygnus: Fix MDIO node address/size cells ARM: exynos_defconfig: Restore debugfs support selftests: safesetid: Fix Makefile to set correct test program selftests: safesetid: Check the return value of setuid/setgid selftests: safesetid: Move link library to LDLIBS selftests/ftrace: Fix multiple kprobe testcase selftests/ftrace: Do not to use absolute debugfs path selftests/ftrace: Fix ftrace test cases to check unsupported selftests/ftrace: Fix to check the existence of set_ftrace_filter ARM: dts: BCM5301X: Fix MDIO node address/size cells netfilter: nf_tables_offload: return EOPNOTSUPP if rule specifies no actions netfilter: nf_tables: skip module reference count bump on object updates netfilter: nf_tables: validate NFT_DATA_VALUE after nft_data_init() netfilter: nf_tables: validate NFT_SET_ELEM_INTERVAL_END netfilter: nft_set_rbtree: bogus lookup/get on consecutive elements in named sets netfilter: uapi: Avoid undefined left-shift in xt_sctp.h ARM: vexpress: Set-up shared OPP table instead of individual for each CPU ARM: dts: imx6ul: imx6ul-14x14-evk.dtsi: Fix SPI NOR probing efi/earlycon: Remap entire framebuffer after page initialization efi/gop: Fix memory leak in __gop_query32/64() efi/gop: Return EFI_SUCCESS if a usable GOP was found efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs selftests: netfilter: use randomized netns names ASoC: Intel: bytcr_rt5640: Update quirk for Teclast X89 x86/efi: Update e820 with reserved EFI boot services data to fix kexec breakage regulator: core: fix regulator_register() error paths to properly release rdev libtraceevent: Copy pkg-config file to output folder when using O= libtraceevent: Fix lib installation with O= mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() netfilter: nf_tables_offload: Check for the NETDEV_UNREGISTER event x86/intel: Disable HPET on Intel Ice Lake platforms netfilter: ctnetlink: netns exit must wait for callbacks locking/spinlock/debug: Fix various data races spi: fsl: Handle the single hardwired chipselect case gpio: Handle counting of Freescale chipselects spi: fsl: Fix GPIO descriptor support ASoC: max98090: fix possible race conditions regulator: fix use after free issue spi: pxa2xx: Add support for Intel Jasper Lake ASoC: rt5682: fix i2c arbitration lost issue bpf: Fix passing modified ctx to ld/abs/ind instruction USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein ANDROID: Kconfig.gki: Add QCOM_SCM to QCOM Hidden configs ANDROID: iommu/arm-smmu: Allow inherting stream mapping from bootloader ANDROID: iommu/arm-smmu: Expose s2cr and smr structs to impl ANDROID: iommu/arm-smmu: Don't blindly use first SMR to calculate mask ANDROID: clk: qcom: Add sync_state = clk_sync_state for db845c clock providers UPSTREAM: net: usbnet: Fix -Wcast-function-type UPSTREAM: PM / QoS: Restore DEV_PM_QOS_MIN/MAX_FREQUENCY UPSTREAM: PM / QoS: Reorder pm_qos/freq_qos/dev_pm_qos structs UPSTREAM: USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein ANDROID: update kernel ABI (perf_event changes) BACKPORT: perf_event: Add support for LSM and SELinux checks ANDROID: Enable HID_STEAM and JOYSTICK_XPAD as y ANDROID: update abi for previous revert Revert "BACKPORT: perf_event: Add support for LSM and SELinux checks" Linux 5.4.10 powerpc/pmem: Fix kernel crash due to wrong range value usage in flush_dcache_range Linux 5.4.9 mm/hugetlb: defer freeing of huge pages if in non-task context hsr: fix a race condition in node list insertion and deletion hsr: fix error handling routine in hsr_dev_finalize() hsr: avoid debugfs warning message when module is remove net: annotate lockless accesses to sk->sk_pacing_shift perf/x86/intel/bts: Fix the use of page_private() efi: Don't attempt to map RCI2 config table if it doesn't exist lib/ubsan: don't serialize UBSAN report xen/blkback: Avoid unmapping unmapped grant pages mm/sparse.c: mark populate_section_memmap as __meminit s390/smp: fix physical to logical CPU map for SMT Btrfs: only associate the locked page with one async_chunk struct btrfs: get rid of unique workqueue helper functions ubifs: ubifs_tnc_start_commit: Fix OOB in layout_in_gaps net: add annotations on hh->hh_len lockless accesses xfs: periodically yield scrub threads to the scheduler drm/i915/execlists: Fix annotation for decoupling virtual request ath9k_htc: Discard undersized packets ath9k_htc: Modify byte order for an error message fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP fs: cifs: Fix atime update check vs mtime cifs: Fix lookup of root ses in DFS referral cache tty: serial: msm_serial: Fix lockup for sysrq and oops phy: renesas: rcar-gen3-usb2: Use platform_get_irq_optional() for optional irq arm64: dts: meson: odroid-c2: Disable usb_otg bus to avoid power failed warning dt-bindings: clock: renesas: rcar-usb2-clock-sel: Fix typo in example media: usb: fix memory leak in af9005_identify_state regulator: ab8500: Remove AB8505 USB regulator media: flexcop-usb: ensure -EIO is returned on error condition arm64: dts: meson-gxm-khadas-vim2: fix uart_A bluetooth node arm64: dts: meson-gxl-s905x-khadas-vim: fix uart_A bluetooth node Bluetooth: Fix memory leak in hci_connect_le_scan Bluetooth: delete a stray unlock Bluetooth: btusb: fix PM leak in error case of setup powerpc/mm: Mark get_slice_psize() & slice_addr_is_low() as notrace regulator: axp20x: Fix AXP22x ELDO2 regulator enable bitmask spi: uniphier: Fix FIFO threshold regulator: bd70528: Remove .set_ramp_delay for bd70528_ldo_ops regulator: axp20x: Fix axp20x_set_ramp_delay watchdog: tqmx86_wdt: Fix build error net, sysctl: Fix compiler warning when only cBPF is present netfilter: nf_queue: enqueue skbs with NULL dst platform/x86: pmc_atom: Add Siemens CONNECT X300 to critclk_systems DMI table xfs: don't check for AG deadlock for realtime files in bunmapi firmware: arm_scmi: Avoid double free in error flow cifs: Fix potential softlockups while refreshing DFS cache of: overlay: add_changeset_property() memory leak iommu/vt-d: Remove incorrect PSI capability check perf callchain: Fix segfault in thread__resolve_callchain_sample() ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 kernel/module.c: wakeup processes in module_wq on module unload net/sched: annotate lockless accesses to qdisc->empty HID: i2c-hid: Reset ALPS touchpads on resume powerpc: Chunk calls to flush_dcache_range in arch_*_memory nfsd4: fix up replay_matches_cache() arm64: dts: qcom: msm8998-clamshell: Remove retention idle state sunrpc: fix crash when cache_head become valid before update PM / devfreq: Check NULL governor in available_governors_show drm/msm: include linux/sched/task.h spi: spi-fsl-dspi: Fix 16-bit word order in 32-bit XSPI mode ftrace: Avoid potential division by zero in function profiler arm64: Revert support for execute-only user mappings exit: panic before exit_mm() on global init exit scsi: lpfc: Fix rpi release when deleting vport ALSA: firewire-motu: Correct a typo in the clock proc string ALSA: pcm: Yet another missing check of non-cached buffer type ALSA: cs4236: fix error return comparison of an unsigned integer gen_initramfs_list.sh: fix 'bad variable name' error dmaengine: virt-dma: Fix access after free in vchan_complete() apparmor: fix aa_xattrs_match() may sleep while holding a RCU lock mm/gup: fix memory leak in __gup_benchmark_ioctl io_uring: use current task creds instead of allocating a new one samples/trace_printk: Wait for IRQ work to finish tracing: Fix endianness bug in histogram trigger tracing: Have the histogram compare functions convert to u64 first tracing: Avoid memory leak in process_system_preds() tracing: Fix lock inversion in trace_event_enable_tgid_record() rseq/selftests: Fix: Namespace gettid() for compatibility with glibc 2.30 riscv: ftrace: correct the condition logic in function graph tracer clocksource: riscv: add notrace to riscv_sched_clock gpiolib: fix up emulated open drain outputs gpio: xtensa: fix driver build libata: Fix retrieving of active qcs ata: ahci_brcm: BCM7425 AHCI requires AHCI_HFLAG_DELAY_ENGINE ata: ahci_brcm: Add missing clock management during recovery ata: ahci_brcm: Fix AHCI resources management ata: libahci_platform: Export again ahci_platform_<en/dis>able_phys() bpf: Fix precision tracking for unbounded scalars compat_ioctl: block: handle BLKGETZONESZ/BLKGETNRZONES compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE compat_ioctl: block: handle Persistent Reservations Btrfs: fix infinite loop during nocow writeback due to race dmaengine: dma-jz4780: Also break descriptor chains on JZ4725B dmaengine: Fix access to uninitialized dma_slave_caps selftests/seccomp: Catch garbage on SECCOMP_IOCTL_NOTIF_RECV samples/seccomp: Zero out members based on seccomp_notif_sizes seccomp: Check that seccomp_notif is zeroed out by the user selftests/seccomp: Zero out seccomp_notif locks: print unsigned ino in /proc/locks gcc-plugins: make it possible to disable CONFIG_GCC_PLUGINS again pstore/ram: Fix error-path memory leak in persistent_ram_new() callers pstore/ram: Write new dumps to start of recycled zones ocfs2: fix the crash due to call ocfs2_get_dlm_debug once less mm/oom: fix pgtables units mismatch in Killed process message mm: move_pages: return valid node id in status if the page is already on the target node memcg: account security cred as well to kmemcg mm/zsmalloc.c: fix the migrated zspage statistics. mm/memory_hotplug: shrink zones when offlining memory media: cec: check 'transmit_in_progress', not 'transmitting' media: cec: avoid decrementing transmit_queue_sz if it is 0 media: cec: CEC 2.0-only bcast messages were ignored media: pulse8-cec: fix lost cec_transmit_attempt_done() call MIPS: Avoid VDSO ABI breakage due to global register variable MIPS: BPF: eBPF JIT: check for MIPS ISA compliance in Kconfig MIPS: BPF: Disable MIPS32 eBPF JIT drm/amdgpu/smu: add metrics table lock for vega20 (v2) drm/amdgpu/smu: add metrics table lock for navi (v2) drm/amdgpu/smu: add metrics table lock for arcturus (v2) drm/amdgpu/smu: add metrics table lock drm/sun4i: hdmi: Remove duplicate cleanup calls ALSA: hda/realtek - Add headset Mic no shutup for ALC283 ALSA: hda - Apply sync-write workaround to old Intel platforms, too ALSA: usb-audio: set the interface format after resume on Dell WD19 ALSA: usb-audio: fix set_format altsetting sanity check ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code mm: drop mmap_sem before calling balance_dirty_pages() in write fault block: add bio_truncate to fix guard_bio_eod netfilter: nft_tproxy: Fix port selector on Big Endian ALSA: hda - Downgrade error message for single-cmd fallback taskstats: fix data-race shmem: pin the file in shmem_fault() if mmap_sem is dropped tcp: fix data-race in tcp_recvmsg() ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen PCI: Fix missing inline for pci_pr3_present() ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a driver PCI: Add a helper to check Power Resource Requirements _PR3 existence ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC ALSA: hda/realtek - Add Bass Speaker and fixed dac for bass speaker PM / hibernate: memory_bm_find_bit(): Tighten node optimisation xen/balloon: fix ballooned page accounting without hotplug enabled xen-blkback: prevent premature module unload IB/mlx5: Fix steering rule of drop and count IB/mlx4: Follow mirror sequence of device add during device removal RDMA/counter: Prevent auto-binding a QP which are not tracked with res s390/cpum_sf: Avoid SBD overflow condition in irq handler s390/cpum_sf: Adjust sampling interval to avoid hitting sample limits md: raid1: check rdev before reference in raid1_sync_request func raid5: need to set STRIPE_HANDLE for batch head afs: Fix creation calls in the dynamic root to fail with EOPNOTSUPP afs: Fix mountpoint parsing net: make socket read/write_iter() honor IOCB_NOWAIT usb: gadget: fix wrong endpoint desc drm/nouveau/kms/nv50-: fix panel scaling drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit staging/wlan-ng: add CRC32 dependency in Kconfig scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func scsi: libsas: stop discovering if oob mode is disconnected scsi: iscsi: qla4xxx: fix double free in probe scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI scsi: qla2xxx: Don't defer relogin unconditonally scsi: qla2xxx: Send Notify ACK after N2N PLOGI scsi: qla2xxx: Configure local loop for N2N target scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length scsi: qla2xxx: Don't call qlt_async_event twice scsi: qla2xxx: Drop superfluous INIT_WORK of del_work scsi: qla2xxx: Use explicit LOGO in target mode scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func rxe: correctly calculate iCRC for unaligned payloads RDMA/cma: add missed unregister_pernet_subsys in init failure afs: Fix SELinux setting security label on /afs afs: Fix afs_find_server lookups for ipv4 peers PM / devfreq: Don't fail devfreq_dev_release if not in list PM / devfreq: Set scaling_max_freq to max on OPP notifier error PM / devfreq: Fix devfreq_notifier_call returning errno iio: adc: max9611: Fix too short conversion time delay iio: st_accel: Fix unused variable warning nvme/pci: Fix read queue count nvme/pci: Fix write and poll queue types drm/amd/display: update dispclk and dppclk vco frequency drm/amd/display: Reset steer fifo before unblanking the stream drm/amd/display: Change the delay time before enabling FEC drm/amd/display: Fixed kernel panic when booting with DP-to-HDMI dongle drm/amd/display: Map DSC resources 1-to-1 if numbers of OPPs and DSCs are equal drm/amdgpu: add cache flush workaround to gfx8 emit_fence drm/amdgpu: add header line for power profile on Arcturus drm/amdgpu: add check before enabling/disabling broadcast mode nvme-fc: fix double-free scenarios on hw queues nvme_fc: add module to ops template to allow module references drm/mcde: dsi: Fix invalid pointer dereference if panel cannot be found docs: fs-verity: mention statx() support f2fs: support STATX_ATTR_VERITY ext4: support STATX_ATTR_VERITY statx: define STATX_ATTR_VERITY docs: fs-verity: document first supported kernel version f2fs: add support for IV_INO_LBLK_64 encryption policies ext4: add support for IV_INO_LBLK_64 encryption policies fscrypt: add support for IV_INO_LBLK_64 policies fscrypt: avoid data race on fscrypt_mode::logged_impl_name fscrypt: zeroize fscrypt_info before freeing fscrypt: remove struct fscrypt_ctx fscrypt: invoke crypto API for ESSIV handling ANDROID: update kernel ABI representation BACKPORT: perf_event: Add support for LSM and SELinux checks ANDROID: Update ABI representation ANDROID: GKI: clk: Don't disable unused clocks with sync state support ANDROID: GKI: clk: Add support for clock providers with sync state ANDROID: GKI: driver core: Add dev_has_sync_state() null_blk: remove unused variable warning on !CONFIG_BLK_DEV_ZONED block: set the zone size in blk_revalidate_disk_zones atomically block: don't handle bio based drivers in blk_revalidate_disk_zones null_blk: cleanup null_gendisk_register null_blk: fix zone size paramter check block: allocate the zone bitmaps lazily block: replace seq_zones_bitmap with conv_zones_bitmap block: simplify blkdev_nr_zones block: remove the empty line at the end of blk-zoned.c scsi: sd_zbc: Improve report zones error printout scsi: sd_zbc: Remove set but not used variable 'buflen' block: rework zone reporting scsi: sd_zbc: Cleanup sd_zbc_alloc_report_buffer() null_blk: clean up report zones null_blk: clean up the block device operations null_blk: return fixed zoned reads > write pointer scsi: sd_zbc: add zone open, close, and finish support block: Remove partition support for zoned block devices block: Simplify report zones execution block: cleanup the !zoned case in blk_revalidate_disk_zones block: Enhance blk_revalidate_disk_zones() block: add zone open, close and finish ioctl support block: add zone open, close and finish operations block: Simplify REQ_OP_ZONE_RESET_ALL handling block: Remove REQ_OP_ZONE_RESET plugging ANDROID: sdcardfs: fix -ENOENT lookup race issue CHROMIUM: cgroups: relax permissions on moving tasks between cgroups UPSTREAM: selinux: sidtab reverse lookup hash table ANDROID: update abi for 5.4.8 release Linux 5.4.8 mm/hugetlbfs: fix for_each_hstate() loop in init_hugetlbfs_fs() mmc: sdhci-of-esdhc: re-implement erratum A-009204 workaround mmc: sdhci-of-esdhc: fix up erratum A-008171 workaround vhost/vsock: accept only packets with the right dst_cid net: ena: fix napi handler misbehavior when the napi budget is zero net: phylink: fix interface passed to mac_link_up ipv6/addrconf: only check invalid header values when NETLINK_F_STRICT_CHK is set bnxt: apply computed clamp value for coalece parameter gtp: do not allow adding duplicate tid and ms_addr pdp context gtp: fix an use-after-free in ipv4_pdp_find() hv_netvsc: Fix tx_table init in rndis_set_subchannel() tcp/dccp: fix possible race __inet_lookup_established() tcp: do not send empty skb from tcp_write_xmit() bonding: fix active-backup transition after link failure gtp: avoid zero size hashtable gtp: fix wrong condition in gtp_genl_dump_pdp() net: marvell: mvpp2: phylink requires the link interrupt net: dsa: sja1105: Reconcile the meaning of TPID and TPID2 for E/T and P/Q/R/S net/dst: do not confirm neighbor for vxlan and geneve pmtu update sit: do not confirm neighbor when do pmtu update vti: do not confirm neighbor when do pmtu update tunnel: do not confirm neighbor when do pmtu update net/dst: add new function skb_dst_update_pmtu_no_confirm gtp: do not confirm neighbor when do pmtu update ip6_gre: do not confirm neighbor when do pmtu update net: add bool confirm_neigh parameter for dst_ops.update_pmtu mlxsw: spectrum: Use dedicated policer for VRRP packets mlxsw: spectrum_router: Skip loopback RIFs during MAC validation bnxt_en: Add missing devlink health reporters for VFs. bnxt_en: Fix the logic that creates the health reporters. bnxt_en: Remove unnecessary NULL checks for fw_health bnxt_en: Fix bp->fw_health allocation and free logic. bnxt_en: Return error if FW returns more data than dump length bnxt_en: Free context memory in the open path if firmware has been reset. bnxt_en: Fix MSIX request logic for RDMA driver. udp: fix integer overflow while computing available space in sk_rcvbuf tcp: Fix highest_sack and highest_sack_seq ptp: fix the race between the release of ptp_clock and cdev net: stmmac: dwmac-meson8b: Fix the RGMII TX delay on Meson8b/8m2 SoCs net_sched: sch_fq: properly set sk->sk_pacing_status net/sched: add delete_empty() to filters and use it in cls_flower net/sched: act_mirred: Pull mac prior redir to non mac_header_xmit device net: phy: aquantia: add suspend / resume ops for AQR105 net/mlxfw: Fix out-of-memory error in mfa2 flash burning net: dsa: bcm_sf2: Fix IP fragment location and behavior cxgb4/cxgb4vf: fix flow control display for auto negotiation xfs: fix mount failure crash on invalid iclog memory access drm: limit to INT_MAX in create_blob ioctl uaccess: disallow > INT_MAX copy sizes tomoyo: Don't use nifty names on sockets. hrtimer: Annotate lockless access to timer->state net: icmp: fix data-race in cmp_global_allow() net: add a READ_ONCE() in skb_peek_tail() inetpeer: fix data-race in inet_putpeer / inet_putpeer netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() net/smc: add fallback check to connect() powerpc: Fix __clear_user() with KUAP enabled 6pack,mkiss: fix possible deadlock netfilter: ebtables: compat: reject all padding in matches/watchers Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" md: make sure desc_nr less than MD_SB_DISKS sctp: fix err handling of stream initialization Revert "powerpc/vcpu: Assume dedicated processors as non-preempt" userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK kernel: sysctl: make drop_caches write-only mm/hugetlbfs: fix error handling when setting up mounts selftests: vm: add fragment CONFIG_TEST_VMALLOC s390: disable preemption when switching to nodat stack with CALL_ON_STACK mailbox: imx: Fix Tx doorbell shutdown path ocfs2: fix passing zero to 'PTR_ERR' warning s390/cpum_sf: Check for SDBT and SDB consistency s390/unwind: filter out unreliable bogus %r14 libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h mailbox: imx: Clear the right interrupts at shutdown s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR perf regs: Make perf_reg_name() return "unknown" instead of NULL perf script: Fix brstackinsn for AUXTRACE perf diff: Use llabs() with 64-bit values cifs: move cifsFileInfo_put logic into a work-queue cdrom: respect device capabilities during opening action of: unittest: fix memory leak in attach_node_and_children io_uring: io_allocate_scq_urings() should return a sane state um: virtio: Keep reading on -EAGAIN cifs: Fix use-after-free bug in cifs_reconnect() powerpc: Don't add -mabi= flags when building with Clang scripts/kallsyms: fix definitely-lost memory leak drm/amdgpu: Call find_vma under mmap_sem apparmor: fix unsigned len comparison with less than zero Drivers: hv: vmbus: Fix crash handler reset of Hyper-V synic tools/power/x86/intel-speed-select: Ignore missing config level gpio: lynxpoint: Setup correct IRQ handlers gpio: mpc8xxx: Don't overwrite default irq_set_type callback platform/x86: intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver platform/x86: intel_pmc_core: Fix the SoC naming inconsistency gpio/mpc8xxx: fix qoriq GPIO reading habanalabs: skip VA block list update in reset flow f2fs: Fix deadlock in f2fs_gc() context during atomic files handling scsi: target: iscsi: Wait for all commands to finish before freeing a session scsi: iscsi: Don't send data to unbound connection scsi: ufs: Fix up auto hibern8 enablement scsi: target: core: Release SPC-2 reservations when closing a session scsi: NCR5380: Add disconnect_mask module parameter scsi: scsi_debug: num_tgts must be >= 0 scsi: ufs: Fix error handing during hibern8 enter scsi: pm80xx: Fix for SATA device discovery powerpc/fixmap: Use __fix_to_virt() instead of fix_to_virt() watchdog: Fix the race between the release of watchdog_core_data and cdev watchdog: prevent deferral of watchdogd wakeup on RT watchdog: imx7ulp: Fix reboot hang HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device HID: Improve Windows Precision Touchpad detection. libnvdimm/btt: fix variable 'rc' set but not used ARM: 8937/1: spectre-v2: remove Brahma-B53 from hardening HID: i2c-hid: fix no irq after reset on raydium 3118 HID: logitech-hidpp: Silence intermittent get_battery_capacity errors dt-bindings: Improve validation build error handling HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse bcache: at least try to shrink 1 node in bch_mca_scan() clk: pxa: fix one of the pxa RTC clocks scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE powerpc/book3s/mm: Update Oops message to print the correct translation in use powerpc/eeh: differentiate duplicate detection message powerpc/security: Fix wrong message when RFI Flush is disable PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info PCI: rpaphp: Annotate and correctly byte swap DRC properties PCI: rpaphp: Don't rely on firmware feature to imply drc-info support powerpc/pseries/cmm: Implement release() function for sysfs device scsi: ufs: fix potential bug which ends in system hang PCI: rpaphp: Fix up pointer to first drc-info entry scsi: zorro_esp: Limit DMA transfers to 65536 bytes (except on Fastlane) scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences Input: ili210x - handle errors from input_mt_init_slots() iomap: fix return value of iomap_dio_bio_actor on 32bit systems i2c: stm32f7: fix & reorder remove & probe error handling iommu/arm-smmu-v3: Don't display an error when IRQ lines are missing fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned long dma-direct: check for overflows on 32 bit DMA addresses irqchip: ingenic: Error out if IRQ domain creation failed irqchip/irq-bcm7038-l1: Enable parent IRQ if necessary clk: clk-gpio: propagate rate change to parent clk: qcom: Allow constant ratio freq tables for rcg clk: qcom: smd: Add missing pnoc clock f2fs: fix to update dir's i_pino during cross_rename scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow scsi: lpfc: Fix unexpected error messages during RSCN handling scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) jbd2: Fix statistics for the number of logged blocks ext4: iomap that extends beyond EOF should be marked dirty ext4: update direct I/O read lock pattern for IOCB_NOWAIT powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning powerpc/security/book3s64: Report L1TF status in sysfs selftests/powerpc: Skip tm-signal-sigreturn-nt if TM not available dtc: Use pkg-config to locate libyaml clocksource/drivers/timer-of: Use unique device name instead of timer clocksource/drivers/asm9260: Add a check for of_clk_get leds: trigger: netdev: fix handling on interface rename leds: an30259a: add a check for devm_regmap_init_i2c leds: lm3692x: Handle failure to probe the regulator dmaengine: fsl-qdma: Handle invalid qdma-queue0 IRQ dma-mapping: fix handling of dma-ranges for reserved memory (again) dma-mapping: Add vmap checks to dma_map_single() dma-debug: add a schedule point in debug_dma_dump_mappings() powerpc/tools: Don't quote $objdump in scripts selftests/powerpc: Fixup clobbers for TM tests Input: st1232 - do not reset the chip too early powerpc/pseries: Don't fail hash page table insert for bolted mapping powerpc/pseries: Mark accumulate_stolen_time() as notrace scsi: hisi_sas: Delete the debugfs folder of hisi_sas when the probe fails scsi: hisi_sas: Replace in_softirq() check in hisi_sas_task_exec() scsi: csiostor: Don't enable IRQs too early scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices scsi: lpfc: Fix hardlockup in lpfc_abort_handler scsi: target: compare full CHAP_A Algorithm strings dmaengine: xilinx_dma: Clear desc_pendingcount in xilinx_dma_reset iommu/tegra-smmu: Fix page tables in > 4 GiB memory iommu: rockchip: Free domain on .domain_free platform/x86: peaq-wmi: switch to using polled mode of input devices tools/power/x86/intel-speed-select: Remove warning for unused result powerpc/papr_scm: Fix an off-by-one check in papr_scm_meta_{get, set} f2fs: fix to update time in lazytime mode Input: atmel_mxt_ts - disable IRQ across suspend scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq gpio: mxc: Only get the second IRQ when there is more than one IRQ scsi: mpt3sas: Reject NVMe Encap cmnds to unsupported HBA scsi: lpfc: Fix locking on mailbox command completion scsi: mpt3sas: Fix clear pending bit in ioctl status scsi: lpfc: Fix discovery failures when target device connectivity bounces scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd() Revert "MIPS: futex: Emit Loongson3 sync workarounds within asm" Revert "MIPS: futex: Restore \n after sync instructions" UPSTREAM: exit: panic before exit_mm() on global init exit f2fs: stop GC when the victim becomes fully valid f2fs: expose main_blkaddr in sysfs f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() f2fs: Fix deadlock in f2fs_gc() context during atomic files handling f2fs: show f2fs instance in printk_ratelimited f2fs: fix potential overflow f2fs: fix to update dir's i_pino during cross_rename f2fs: support aligned pinned file f2fs: avoid kernel panic on corruption test f2fs: fix wrong description in document f2fs: cache global IPU bio f2fs: fix to avoid memory leakage in f2fs_listxattr f2fs: check total_segments from devices in raw_super f2fs: update multi-dev metadata in resize_fs f2fs: mark recovery flag correctly in read_raw_super_block() f2fs: fix to update time in lazytime mode ANDROID: serdev: Fix platform device support Conflicts: Documentation/ABI/stable/sysfs-driver-mlxreg-io Documentation/ABI/testing/sysfs-class-power Makefile abi_gki_aarch64.xml abi_gki_aarch64_ce5de62e20.xml arch/Kconfig arch/arm/Kconfig arch/arm/boot/dts/imx6ul-kontron-n6310-s.dts arch/arm/boot/dts/logicpd-torpedo-37xx-devkit-28.dts arch/arm/include/asm/kvm_mmio.h arch/arm/mach-tegra/sleep-tegra30.S arch/arm64/Kconfig.platforms arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi arch/arm64/boot/dts/marvell/armada-cp110.dtsi arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi arch/arm64/boot/dts/qcom/msm8996.dtsi arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi arch/arm64/boot/dts/qcom/msm8998.dtsi arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi arch/arm64/boot/dts/qcom/sdm845-db845c.dts arch/arm64/boot/dts/qcom/sdm845.dtsi arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts arch/arm64/boot/dts/ti/k3-j721e-main.dtsi arch/arm64/configs/db845c_gki.fragment arch/arm64/configs/gki_defconfig arch/arm64/configs/vendor/genericarmv8-64_defconfig arch/arm64/configs/vendor/lahaina_GKI.config arch/arm64/configs/vendor/lahaina_QGKI.config arch/arm64/configs/vendor/lahaina_debug.config arch/arm64/include/asm/kvm_mmio.h arch/arm64/kernel/cpu_errata.c arch/arm64/mm/mmu.c arch/mips/Kconfig arch/mips/loongson64/loongson-3/platform.c arch/mips/pci/pci-xtalk-bridge.c arch/mips/sgi-ip27/ip27-irq.c arch/powerpc/Kconfig arch/powerpc/include/asm/book3s/32/kup.h arch/powerpc/include/asm/book3s/64/kup-radix.h arch/powerpc/include/asm/kup.h arch/powerpc/include/asm/nohash/32/kup-8xx.h arch/powerpc/kvm/book3s_hv.c arch/powerpc/kvm/book3s_pr.c arch/powerpc/mm/book3s64/hash_utils.c arch/powerpc/mm/mem.c arch/powerpc/platforms/powernv/pci.c arch/powerpc/platforms/pseries/iommu.c arch/riscv/Kconfig arch/riscv/net/bpf_jit_comp.c arch/s390/kernel/mcount.S arch/s390/kvm/kvm-s390.c arch/sparc/Kconfig arch/sparc/include/asm/tlb_64.h arch/x86/configs/gki_defconfig arch/x86/events/amd/core.c arch/x86/kernel/vmlinux.lds.S arch/x86/kvm/emulate.c arch/x86/kvm/irq_comm.c arch/x86/kvm/mmu.c arch/x86/kvm/paging_tmpl.h arch/x86/kvm/vmx/nested.c arch/x86/kvm/vmx/nested.h arch/x86/kvm/vmx/vmx.c arch/x86/kvm/x86.c arch/x86/mm/init_64.c arch/x86/mm/pageattr.c arch/x86/platform/efi/quirks.c arch/xtensa/kernel/process.c block/blk-zoned.c block/compat_ioctl.c block/ioctl.c block/partition-generic.c build.config.gki.aarch64 crypto/algapi.c crypto/pcrypt.c crypto/testmgr.c cuttlefish.fragment drivers/acpi/sleep.c drivers/ata/ahci_brcm.c drivers/char/hw_random/omap3-rom-rng.c drivers/clk/clk-gpio.c drivers/clk/clk.c drivers/clk/imx/clk-imx7ulp.c drivers/clk/imx/clk.h drivers/clk/qcom/clk-alpha-pll.c drivers/clk/qcom/clk-rcg2.c drivers/cpufreq/cpufreq.c drivers/cpufreq/dummy-cpufreq.c drivers/cpuidle/governors/teo.c drivers/crypto/atmel-aes.c drivers/crypto/axis/artpec6_crypto.c drivers/crypto/ccree/cc_pm.c drivers/crypto/chelsio/chcr_algo.c drivers/crypto/geode-aes.c drivers/crypto/hisilicon/Kconfig drivers/crypto/virtio/virtio_crypto_algs.c drivers/devfreq/Kconfig drivers/devfreq/devfreq.c drivers/dma/dmaengine.c drivers/firmware/arm_scmi/bus.c drivers/firmware/efi/libstub/gop.c drivers/firmware/qcom/tz_log.c drivers/firmware/qcom_scm-smc.c drivers/firmware/qcom_scm.c drivers/firmware/qcom_scm.h drivers/gpio/gpio-lynxpoint.c drivers/gpio/gpio-thunderx.c drivers/gpio/gpiolib-of.c drivers/gpio/gpiolib.c drivers/gpio/sgpio-aspeed.c drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c drivers/gpu/drm/amd/amdgpu/amdgpu_object.c drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c drivers/gpu/drm/amd/amdgpu/df_v3_6.c drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c drivers/gpu/drm/amd/display/dc/core/dc_link.c drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c drivers/gpu/drm/amd/powerplay/arcturus_ppt.c drivers/gpu/drm/bridge/Kconfig drivers/gpu/drm/bridge/Makefile drivers/gpu/drm/drm_dp_helper.c drivers/gpu/drm/drm_dp_mst_topology.c drivers/gpu/drm/drm_rect.c drivers/gpu/drm/i915/Kconfig.debug drivers/gpu/drm/i915/gt/intel_engine.h drivers/gpu/drm/i915/gt/intel_engine_types.h drivers/gpu/drm/i915/gt/intel_lrc.c drivers/gpu/drm/i915/gt/intel_ringbuffer.c drivers/gpu/drm/i915/i915_gem_gtt.c drivers/gpu/drm/i915/intel_pm.c drivers/gpu/drm/ingenic/ingenic-drm.c drivers/gpu/drm/mediatek/mtk_drm_crtc.c drivers/gpu/drm/msm/adreno/a6xx_gmu.h drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c drivers/gpu/drm/panel/panel-lvds.c drivers/gpu/drm/panfrost/panfrost_devfreq.c drivers/gpu/drm/panfrost/panfrost_job.c drivers/gpu/drm/tegra/drm.c drivers/hid/hid-ite.c drivers/i2c/busses/i2c-jz4780.c drivers/infiniband/core/device.c drivers/infiniband/hw/hfi1/user_exp_rcv.c drivers/infiniband/hw/hns/hns_roce_device.h drivers/infiniband/hw/hns/hns_roce_hw_v2.c drivers/infiniband/hw/mlx5/main.c drivers/input/tablet/gtco.c drivers/input/touchscreen/ili210x.c drivers/input/touchscreen/st1232.c drivers/iommu/arm-smmu-qcom.c drivers/iommu/arm-smmu.c drivers/iommu/arm-smmu.h drivers/iommu/dma-iommu.c drivers/iommu/intel-pasid.c drivers/iommu/intel-svm.c drivers/iommu/io-pgtable-arm.c drivers/iommu/iommu.c drivers/iommu/iova.c drivers/iommu/mtk_iommu.c drivers/iommu/mtk_iommu.h drivers/irqchip/Kconfig drivers/irqchip/irq-ingenic.c drivers/leds/leds-lm3692x.c drivers/leds/leds-tlc591xx.c drivers/md/bcache/journal.c drivers/md/bcache/super.c drivers/md/dm-thin.c drivers/media/i2c/ov6650.c drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c drivers/media/usb/pulse8-cec/pulse8-cec.c drivers/media/v4l2-core/v4l2-compat-ioctl32.c drivers/media/v4l2-core/videobuf-dma-sg.c drivers/misc/mei/hw-me-regs.h drivers/mmc/core/host.c drivers/mmc/core/slot-gpio.c drivers/mmc/host/pxamci.c drivers/mmc/host/sdhci-esdhc-imx.c drivers/mmc/host/sdhci-of-at91.c drivers/mmc/host/sdhci-of-esdhc.c drivers/mmc/host/sdhci_am654.c drivers/mtd/nand/onenand/Makefile drivers/mtd/nand/onenand/omap2.c drivers/mtd/nand/onenand/samsung_mtd.c drivers/mtd/spi-nor/spi-nor.c drivers/net/ethernet/amazon/ena/ena_com.c drivers/net/ethernet/amazon/ena/ena_netdev.c drivers/net/ethernet/broadcom/bnxt/bnxt.c drivers/net/ethernet/broadcom/bnxt/bnxt.h drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h drivers/net/ethernet/freescale/dpaa/dpaa_eth.c drivers/net/ethernet/intel/e1000e/netdev.c drivers/net/ethernet/marvell/mvneta.c drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c drivers/net/ethernet/mellanox/mlx5/core/wq.c drivers/net/ethernet/mellanox/mlx5/core/wq.h drivers/net/ethernet/mellanox/mlxsw/spectrum.c drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c drivers/net/ethernet/xscale/ixp4xx_eth.c drivers/net/phy/fixed_phy.c drivers/net/phy/phylink.c drivers/net/phy/realtek.c drivers/net/usb/r8152.c drivers/net/wireless/ath/wil6210/wil_platform.c drivers/net/wireless/intel/iwlwifi/mvm/fw.c drivers/net/wireless/realtek/rtw88/fw.c drivers/opp/of.c drivers/pci/controller/dwc/pci-meson.c drivers/pci/pci-driver.c drivers/phy/motorola/phy-cpcap-usb.c drivers/platform/x86/intel_pmc_core.c drivers/platform/x86/intel_scu_ipc.c drivers/power/supply/axp20x_ac_power.c drivers/regulator/core.c drivers/reset/core.c drivers/rtc/Kconfig drivers/rtc/rtc-hym8563.c drivers/rtc/rtc-mt6397.c drivers/s390/crypto/pkey_api.c drivers/s390/net/qeth_core.h drivers/s390/net/qeth_core_main.c drivers/s390/net/qeth_l2_main.c drivers/s390/net/qeth_l2_sys.c drivers/s390/net/qeth_l3_main.c drivers/s390/net/qeth_l3_sys.c drivers/scsi/hisi_sas/hisi_sas_main.c drivers/scsi/lpfc/lpfc_ct.c drivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_init.c drivers/scsi/qla2xxx/qla_target.c drivers/scsi/sd.c drivers/scsi/sd_zbc.c drivers/scsi/ufs/ufshcd-crypto.c drivers/scsi/ufs/ufshcd.c drivers/soc/qcom/Makefile drivers/soc/qcom/spcom.c drivers/spi/spi-dw.c drivers/spi/spi-sprd.c drivers/staging/android/ion/heaps/Kconfig drivers/staging/android/ion/heaps/msm_ion.c drivers/staging/media/hantro/hantro_h264.c drivers/staging/rtl8188eu/os_dep/ioctl_linux.c drivers/staging/rtl8723bs/os_dep/ioctl_linux.c drivers/target/iscsi/iscsi_target_auth.c drivers/tee/optee/core.c drivers/thermal/broadcom/brcmstb_thermal.c drivers/tty/serdev/core.c drivers/tty/serial/Kconfig drivers/tty/serial/samsung_tty.c drivers/usb/dwc3/host.c drivers/usb/gadget/composite.c drivers/vhost/vsock.c drivers/watchdog/imx7ulp_wdt.c fs/btrfs/async-thread.c fs/btrfs/disk-io.c fs/btrfs/inode.c fs/btrfs/transaction.c fs/btrfs/volumes.c fs/compat_ioctl.c fs/crypto/Kconfig fs/crypto/fscrypt_private.h fs/ext4/ext4.h fs/ext4/inode.c fs/ext4/super.c fs/f2fs/compress.c fs/f2fs/data.c fs/hugetlbfs/inode.c fs/incfs/format.h fs/incfs/vfs.c fs/io_uring.c fs/iomap/direct-io.c fs/jbd2/journal.c fs/jbd2/transaction.c fs/libfs.c fs/nfs/dir.c fs/nfs/nfs2xdr.c fs/nfsd/nfs4proc.c fs/nfsd/nfs4state.c fs/nfsd/state.h fs/nfsd/vfs.c fs/ubifs/ioctl.c fs/xfs/xfs_ioctl.c fs/xfs/xfs_ioctl32.c include/asm-generic/tlb.h include/crypto/skcipher.h include/drm/drm_dp_helper.h include/linux/arm-smccc.h include/linux/device.h include/linux/dma-direct.h include/linux/hugetlb.h include/linux/io-pgtable.h include/linux/iommu.h include/linux/mfd/rohm-bd70528.h include/linux/mfd/syscon.h include/linux/padata.h include/linux/perf_event.h include/linux/qcom_scm.h include/linux/rculist_nulls.h include/net/udp.h include/rdma/ib_verbs.h include/trace/events/f2fs.h include/uapi/sound/asound.h init/Kconfig.gki kernel/bpf/devmap.c kernel/dma/direct.c kernel/dma/mapping.c kernel/events/core.c kernel/locking/spinlock_debug.c kernel/padata.c kernel/rcu/tree_exp.h kernel/sched/fair.c kernel/sched/idle.c kernel/sched/psi.c kernel/sched/sched.h kernel/signal.c kernel/time/alarmtimer.c kernel/trace/blktrace.c kernel/trace/ring_buffer.c kernel/trace/trace.c kernel/trace/trace_events_hist.c kernel/workqueue.c mm/Kconfig mm/debug.c mm/gup.c mm/huge_memory.c mm/hugetlb.c mm/memory_hotplug.c mm/mmu_gather.c mm/oom_kill.c mm/page_alloc.c mm/userfaultfd.c net/Makefile net/core/sock_map.c net/hsr/hsr_framereg.c net/netfilter/nf_tables_api.c net/netfilter/nf_tables_offload.c net/netfilter/nft_bitwise.c net/netfilter/nft_meta.c net/qrtr/Makefile net/qrtr/qrtr.c net/socket.c net/sunrpc/cache.c net/sunrpc/xprtrdma/rpc_rdma.c net/sunrpc/xprtrdma/transport.c net/sunrpc/xprtrdma/verbs.c net/vmw_vsock/hyperv_transport.c samples/bpf/xdp_adjust_tail_kern.c scripts/kallsyms.c security/integrity/ima/ima_policy.c security/selinux/Kconfig security/selinux/hooks.c security/selinux/include/security.h security/selinux/ss/services.c security/selinux/ss/sidtab.c security/selinux/ss/sidtab.h sound/pci/hda/hda_tegra.c sound/pci/hda/patch_realtek.c sound/soc/codecs/msm8916-wcd-analog.c sound/soc/meson/axg-fifo.c sound/soc/meson/axg-fifo.h sound/soc/meson/axg-frddr.c sound/soc/sh/rcar/core.c sound/soc/soc-topology.c sound/soc/sof/core.c sound/soc/sof/loader.c sound/soc/stm/stm32_spdifrx.c sound/usb/format.c sound/usb/pcm.c sound/usb/quirks.c tools/objtool/sync-check.sh tools/perf/util/machine.c tools/power/x86/intel-speed-select/isst-core.c tools/testing/selftests/bpf/bpf_helpers.h tools/testing/selftests/bpf/prog_tests/perf_buffer.c tools/testing/selftests/bpf/test_select_reuseport.c usr/gen_initramfs_list.sh usr/include/Makefile virt/kvm/arm/mmio.c virt/kvm/kvm_main.c Change-Id: I762c28d9707728f9a86ee59eb27f000470e1c103 Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2020-07-02 10:48:07 -07:00
* The SCI is in the "suspended" state now and it cannot produce
* new wakeup events till the rearming below, so if any of them
* are pending here, they must be resulting from the processing
* of EC events above or coming from somewhere else.
*/
if (pm_wakeup_pending()) {
pm_pr_dbg("Wakeup after ACPI Notify sync\n");
Merge msm-5.4 (kernel.lnx.5.4-200510) into msm-waipio Changes in kernel.lnx.5.4-200510 msm:ADSPRPC: memory map updates to remote process radio: RTC6226: remove open and release v4l2_fh file dt-bindings: clock: add support for DSI CPHY clocks firmware: scm: Add export symbol for scm API usb: f_qdss: Fix watchdog bark issue on wait_for_completion usb: f_qdss: Remove QDSS read functionality as not in use usb: f_qdss: Handle async completion of requests during qdss_close usb: f_qdss: Dequeue pending requests upon qdss close ucsi: ucsi_glink: Fix message handling in ucsi_qti_notify() arm64: defconfig: Enable HH_IRQ_LEND for Lahaina GKI arm64: defconfig: Add HH_IRQ_LEND to genericarmv8 haven: irq_lend: Lendee registration persists across transactions haven: irq_lend: Defer vm_name to vmid translation cnss2: Enable Support for WFC call TWT config haven: ctrl: Enable setting trace class cnss2: Post register driver work as unkillable event clockevents: Add NULL definition for tick_broadcast on UP sched: Improve the scheduler scsi: pm: Balance pm_only of request queue during system resume usb: misc: nb7vpq904m: rework to work with ucsi framework clk: qcom: gdsc-regulator: correct gdsc_disable() success return value coresight: add sw usb mode support for tmc ASoC: update uapi header for upstream compliance coresight: tmc: clear has_iommu flag when smmu is bypassed devfreq: memlat: track cpu during ipi to cluster soc: qcom: service-locator: Add soft-dependency on QRTR Revert "arm64: defconfig: Insert Adreno default governor in gki defconfig" msm: adsprpc: remove excesive logging from debugfs during smmu probing cnss2: Add code to update cnss soc info drivers: qcom: rpmh_master_stat: remove stub function definition ucsi: ucsi_glink: notify partner information regulator: rpm-smd-regulator: Add support for proxy consumers regulators: rpm-smd: Remove unused exported functions Rest replicator registers when enabling it first time cpufreq: qcom: Add a property for max lut entries cpufreq: qcom: Fix multiple request of IRQs regulator: rpm-smd: Add snapshot of rpm-smd regulator driver usb: phy: qmp: support multiple function of portselect input: qcom-hv-haptics: set auto resonance when loading effects input: misc: qcom-hv-haptics: check nvmem before using it msm: adsprpc: allow only unsigned offload for untrusted apps mhi: core: remove duplicate timesync sysfs functions mhi: core: add asynchronous time request support in sysfs defconfig: lahaina: Enable LEDS_TRIGGER_TIMER cnss2: Fix a few issues during platform reboot or shutdown defconfig: arm64: Enable SDCARD_FS for Lahaina ARM: msm: Add board config support for 32 bit SDXLEMUR ARM: convert build of appended dtb zImage to list of dtbs ANDROID: ARM: add config option to build zImage/dtb combo msm: adsprpc: Driver capability iommu/arm-smmu: Fix tbu_ids type in qsmmuv500_tlb_sync_timeout() soc: qcom: mem-buf: Fix NULL pointer dereference when assigning memory msm: kgsl: Fix preemption fault handling for A6xx GPU mhi: controller: Enable L1 when mhi is not active mhi: controller: qcom: Enable MHI register write offload support input: qcom-hv-haptics: add RC clock calibration for FIFO mode ARM: build correct dtbs to append to zImage arch: arm: generalise ARCH_QCOM platform mach-qcom: add support to populate dt nodes for 32-bit platforms sched/walt: Remove fixup_walt_sched_stats sched_class method sched: walt: Remove CFS_BANDWIDTH support in WALT sched/walt: remove references to unused sched_disable_window_stats sched: fair: Improve the Scheduler arm64: defconfig: Enable debugfs for QMP on perf build msm: kgsl: Check for an OPP table without accidentally creating one msm: adsprpc : Change to resolve undefined behaviour clk: qcom: gcc-holi: Add GCC support for HOLI dt-bindings: clk: gcc: Remove vsensor clock ID for Holi tmc-etr: Add ETR status check in usb_notifier mhi: core: Add support to re-try requesting firmware image uapi: sound: remove redundant QGKI config checks Revert "ASoC: msm: fix integer overflow for long duration offload playback" Revert "ALSA: uapi: add new macro SNDRV_AUDIO_QGKI" cnss2: Clear host driver ops if register driver gets killed msm: kgsl: Add check not to decrement refcount when debug_fs is disabled haven: dbl: Make hh_dbl_ functions wait for capid availability neuron: ch_haven: Move msgq init to sync thread haven: dbl: Support registration before dbl probe, resource population haven: dbl: Initialize cap ids to HH_CAPID_INVAL soc: qcom: guestvm loader enhancements haven: rm: Add support to get hypervisor resources mhi: core: block low power modes only in mission mode mhi: core: use internal sequence numbers for timesync doorbells mhi: core: enable doorbell method for time synchronization msm: kgsl: Allow compatible string matching for gpu devices msm: kgsl: Remove legacy platform probe table hvc: haven: Move CONSOLE_OPEN before hvc_instantiate drivers: lpm-levels: use correct CPUHP notifications for QoS msm: gsi: Add support for EV RP DDR access feature sched: rt: print sched_rt_runtime during throttling wigig_sensing: add SPI profiling wigig_sensing: make equal sized SPI transactions wigig_sensing: fix driver state machine wigig_sensing: change change_mode ioctl signature wigig_sensing: fix usage of wait_event_interruptible_timeout() cpufreq: qcom: Add sysfs to reflect the limit frequency cnss2: Add code to pick hang data offset based on deviceID soc: qcom: Add RPM SMD Driver soc: qcom: eud: Define dummy set_temios and get_mctrl callbacks lib: spinlock: Cause a watchdog bite on spin_dump mmc: sdhci-msm: Port fixes from previous qcom SoCs to Lahaina soc: qcom: spss_utils: Modify memory unmapping scheme for cmac_mem soc: qcom: spss_utils: Port IAR spss_utils code to Lahaina spi: spi-msm-geni: Convert IB vote into KHz unit defconfig: Disable CTI save function on perf build for lahaina input: misc: qcom-hv-haptics: Add support to play custom waveform spmi: spmi-pmic-arb: add debugfs support for address mapping arm64: defconfig: Enable Haven ctrl for Lahaina arm64: defconfig: Enable Haven ctrl on genericarmv8 haven: add sysfs and debug interfaces msm: kgsl: Modify the UCHE_PF_CLIENT logic dwc3-msm: Check EUD based spoof disconnect state on resume msm: adsprpc: split init process function into smaller methods defconfig: lahaina: Enable DMA_CONFIGURE_ALIGNMENT iommu/iova: Support disabling domain iova alignment platform : msm-geni-se: fix voting unit for bus bandwidth smcinvoke: Port smcinvoke driver changes cfg80211: More error messages for key addition failures usb: dwc3: Do not process request if HWO is set for its TRB mhi: dev: netdev: inherit IPC log level from controller mhi: dev: uci: inherit IPC log level from controller arm64: defconfig: Enable SPS driver for Lahaina soc: qcom: pmic_glink: add protection domain restart (PDR) support haven: rm: Update dt parsing to match Haven-supplied nodes msm: kgsl: Add GMU registers to the A660 snapshot firmware: qcom: add encrypted tz and qsee log support msm: kgsl: Increase the size of the snapshot for A660 haven: display: add IRQ label for display haven: display: add display notify tag for memory sharing arm64: defconfig: Enable CONFIG_HH_MEM_NOTIFIER haven: Introduce a memory sharing notification framework cnss2: Update WLFW QMI messages to latest cnss2: Fix a issue for WLFW QMI files soc: qcom: spcom: enable config spcom as DLKM for GKI cnss2: Add platform driver code to handle hang event data soc: qcom: service-locator: update types in get_service_location() tmc-etr: Check if it is mode switch action during disable etr cnss2: Add SRAM dump in pci dump collection cnss2: Skip link down recovery if link has been recovered by retry cnss2: Update WLFW QMI host cap message cnss2: Add support to send host SMMU IOVA range to firmware neuron: block_client: Wait for channel to init usb: gsi: Add NULL pointer check dwc3-msm: Skip querying speed and cc_state with EUD extcon device haven: Align APIs and structures to account for the mem_info tag usb: gsi: Allocate strings IDs for functions on every bind usb: f_gsi: Don't enable IPA data path if connect channel fails usb: f_gsi: Avoid gsi ep operations if run/stop is cleared usb: f_gsi: Add error checking for PREPARE_TRBS and STARTXFER ops clk: qcom: clk-alpha-pll: Add support for Agera print registers clk: qcom: clk-alpha-pll: Add support for Agera PLL clk: qcom: clk-alpha-pll: Add support for Legacy FSM Mode wigig_sensing: print burst size msm: kgsl: Add CP_APRIV_CNTL and CP_SMMU_STREAM_ID regs to snapshot mhi: core: Prevent MHI reg read upon endpoint crash clk: qcom: lahaina: Fix stuck-off warnings during probe input: touchscreen: focaltech_touch: Configure power supply neuron: block_client: Fix init loop soc: qcom: qmi: Return EPROBE_DEFER if no address family platform: msm: allow external display registration from kernel module mhi: core: Make sure reg_write_q stores visible to other cores msm: kgsl: Fix snapshot collection after preempt trigger failure msm: kgsl: Add support for A619 GPU msm: cvp: Avoid dereferencing dangling pointer arm64: defconfig: Add support for torture tests on Lahaina msm: adsprpc: initialize async job member of context structure haven: irq_lend: Use Linux IRQ numbers msm: cvp: Support DSP to CPU reverse rpmsg drivers: qmi_sensor: Add support for mmw ADC thermistors dt-bindings: thermal: Add support for mmw ADC thermistors HID: qvr: Adding numerator and denominator to sensor data drivers: thermal: Add support for CDSP cooling devices via qmi cdev msm: kgsl: Add a requeue list for unprocessed dispatcher jobs msm: kgsl: Get resource address from cmd-db driver soc: qcom: socinfo: Add soc information for Holi dt-bindings: clock: Add support for clock ids for HOLI iommu/arm-smmu: Fix transaction flags in qsmmuv500_iova_to_phys wigig_sensing: do not deassert DRI on Data Ready DRI wigig_sensing: enable data read in non-burst sizes wigig_sensing: handle SYS_ASSERT corner cases wigig_sensing: relax state machine restrictions wigig_sensing: enforce data read in multiple of burst size wigig_sensing: make sys-assert DRI priority higher wigig_sensing: make change_mode ioctl more robust wigig_sensing: return error code after change_mode failure wigig_sensing: add support for asynchronous events msm: wigig_sensing: use 32 bit transactions for SPI block read wigig_sensing: add GET_NUM_AVAIL_BURSTS ioctl msm: wigig_sensing: initial commit of wigig_sensing SPI driver msm: cvp: Avoid out-of-bounds write mhi: core: Check for pm error state before asserting dev wake mhi: core: fix error handling in time synchronization function mhi: core: unconditionally trigger resume to assert device wake mhi: core: fix bandwidth scaling initialization failure mhi: core: ensure non-zero session or sequence ID values mhi: core: serialize execution environment and power off changes mhi: cntrl: qcom: enhance logging for forced suspend mhi: cntrl: qcom: remove boot monitor thread to use status cb mhi: cntrl: qcom: use RC driver APIs to toggle low power modes mhi: cntrl: qcom: allow printing large strings to IPC logs mhi: core: remove unused timesync device msm: synx: validate external callback service-locator: Start the locator service by default arm64: defconfig: Trim genericarmv8 defconfig arm64: defconfig: Add ftrace to genericarmv8 interconnect: qcom: lahaina: Change QUP vote_scale to 1 interconnect: qcom: Add support for per-BCM scaling factors interconnect: qcom: lahaina: Stop using initializer macros soc: qcom: Add support for early brought out subsystems soc: qcom: Refactor subsystem registration process msm: kgsl: Make the gpubw governor immutable msm: kgsl: Increase the SVM and non-SVM address space sched/fair: honor uclamp restrictions in fbt() clk: qcom: gcc-shima: Add support for GCC clock driver tcp: Reset tcp connections in SYN-SENT state arm64: defconfig: Insert Adreno default governor in gki defconfig arm64: defconfig: Enable touchscreen GKI on Lahaina qseecom: Invalidate the buffer after listener operation FROMLIST: power_supply: Add additional health properties to the header mhi: core: Add range check for channel id received in event ring msm: adsprpc: Add capibility API for HMX msm: kgsl: Enable Content Protection for A660 GPU driver: thermal: qmi_cdev: Add support for DSC mitigation ion: Ensure secure HLOS accessible buffers are zeroed when allocated trace: Add new trace event for DCVSH cpufreq: qcom: Add support to register for Limits Management interrupt pinctrl: qcom: Expose ufs_reset as gpio on shima scripts: headers_install: Add sigcontext.h into the bypass list soc: qcom: spcom: Provide retry mechanism for spss mmc: sdhci-msm: Avoid enable SD power if card is not present Revert "mmc: sdhci-msm: Avoid enable SD card power if card is removed" msm: ipa4: capture the unclock gsi IPA register access input: qcom-hv-haptics: store closed-loop brake settings into SDAM input: qcom-hv-haptics: limit play rate for PM8350B v1 hardware input: qcom-hv-haptics: update FIFO samples in IRQ thread ion: Forbid multi-VMID allocation requests for the secure system heap ion: Improve ION allocation paths msm: cvp: fixed cache operation func param issue msm: kgsl: Add a terminating empty entry to a660_protected_regs array defconfig: arm64: Enable msm_show_resume_irq for Lahaina irqchip: Declare the msm_show_resume_irq_mask in a header defconfig: arm64: Enable of_devlink proxy consumer for Lahaina soc: qcom: Add support for proxy consumers on of_devlink msm: kgsl: Don't populate the OPP table if it already exists dt-bindings: clock: Update clock IDs and BCRs of GCC for SHIMA ANDROID: serdev: restrict claim of platform devices phy: ufs: Add set_mode callback for RUMI UFS PHY driver mhi: core: add prints for votes and a debugfs vote entry mhi: core: assign controller name to own device mhi: core: provide an API to retrieve device failure reason mhi: core: add support for retrieving device failure reason mhi: core: Log dev wake count in mhi device get/put mhi: core: do not toggle PCIe low power mode in sleeping context mhi: core: Add OOB and DB mode event IPC log and count mhi: core: Handle RSC minimum credit requirement mhi: core: remove firmware loader worker thread mhi: core: check for special events at mission mode entry mhi: core: prioritize handling special purpose events mhi: core: Handle firmware load through state worker usb: gadget: composite: Support more than 500mA MaxPower sound: usb: Flush cache explicitly after mapping buffers usb: dwc3-msm: Revert back to power_supply_by_name() lookup sched: Improve the scheduler defconfig: Enable header tests for Lahaina GKI soc: qcom: hyp_core_ctl: Move the trace file to the local directory trace: Make ion.h work with KERNEL_HEADER_TEST includes: Make headers work with KERNEL_HEADER_TEST cnss2: Enable time sync feature for QCA6490 msm: kgsl: Modify CP_LPAC_PROG_FIFO_SIZE register value for A660 msm: adsprpc: retrieve table index directly from context ID sched: Improve the scheduler phy: ufs-qcom: Update offsets for Lahaina netfilter: Include alarm type timer in idletimer clk: qcom: clk-alpha-pll: Add support for Regera print registers clk: qcom: clk-alpha-pll: Add support for Regera PLL clk: qcom: clk-alpha-pll: Add support for Trion print registers clk: qcom: clk-alpha-pll: Add support for Trion PLL clk: qcom: gdsc-regulator: Add support for votable GDSCs msm: cvp: Re-classification of traces for CVP_DBG interconnect: qcom: lahaina: Use the correct binding for qnm_pcie input: qcom-hv-haptics: Add a property to specify FIFO empty threshold cnss2: Add SRAM mem dump for debug interconnect: qcom: lahaina: Enable the rest of the QoS ports msm: cvp: Fix NULL pointer error when DEBUG_FS is disabled msm: kgsl: Do not modify UCHE_CMDQ_CONFIG register for A660 clk: qcom: gdsc-regulator: remove explicit parent supply enablement Revert "BACKPORT: tracing: Remove unnecessary DEBUG_FS dependency" net: Indicate whether a socket is a transparent socket power: qti_battery_charger: Block PMIC GLINK Tx for debug battery dt-bindings: iio: Update PMIC5 ADC support defconfig: holi: Enable holi pinctrl pinctrl: qcom: Add support for Holi SoC pin control ASoC: compress: Avoid race condition in compress drain defconfig: Add initial defconfig fragments for Holi dt-bindings: clock: Update clock ids of GCC for SHIMA clk: qcom: clk-alpha-pll: Add support for Fabia print registers clk: qcom: clk-alpha-pll: Misc cleanup and fixes for PLLs um: x86_64: Remove the FRAME_WARN config option defconfig: arm64:Enable CDSPRM driver for Lahaina arm64: defconfig: Enable LLCC driver net: qrtr: Check for exisiting waiters Bluetooth: Add support to get chipset version from device tree memshare: Rectify sourcing memshare driver for compiling soc: qcom: add CDSP request manager regulator: qcom_pm8008: use private API for en_supply management power: supply: qti_battery_charger: add support to set fake SOC for battery soc: qcom: pmic_glink: Verify the message length haven: add stubs to haven client exposed APIs cnss2: Handle race between register driver and reboot properly haven: rm: Remove pr_err on get_vmid haven: rm: Add haven vIRQ lending library haven: rm: Add calls to relase/reclaim IRQs haven: rm: Allow IRQ lender to learn about the IRQ handle haven: rm: Update IRQ notify to expect standard reply haven: Clean up payload sizes haven: rm: Send requests atomically to RM haven: rm: Do not allow concurrent stream from RM haven: rm: Use local dt properites for RM capids hvc: haven: Update driver initialization to support console haven: Improve print statements haven: msgq: Update EMPTY/FULL signals haven: rm: Add HH_SELF_VM name irqchip: add snapshot of msm_show_resume_irq defconfig: Enable voltage cooling device for lahaina drivers: thermal: cpu_voltage: Add CPU voltage cooling device support tmc-etr: Remove the duplicated cti map regulator: qcom_pm8008: remove explicit parent supply management usb: xhci: Increase xhci halt timeout arm64: defconfig: Enable boot_stats driver for Lahaina msm: adsprpc: register wake-source clients during driver init interconnect: qcom: Fix the commit bit not getting set msm: synx: change kzalloc to vzalloc clk: qcom: clk-alpha-pll: Add support for Huayra print registers clk: qcom: clk-alpha-pll: Add support for Zonda print registers clk: qcom: clk-alpha-pll: Add support for Lucid PLL print registers msm: pcie: remove read to PCIe ELBI_SYS_CTRL reg after PME_TURNOFF msm: kgsl: Query xo resource addr from cmd-db driver power: supply: qti-battery-charger: Handle incorrect thermal levels kernel: hdcp_qseecom: Enable as gki module cnss2: Remove improper runtime PM enablement checks cnss2: Check driver link state before prevent/allow PCIe L1 power: supply: qti-battery-charger: Fix buffer handling in handle_message() msm: cvp: Avoid releasing buffers during boot msm: cvp: add cache operation control flag usb: dwc3-msm: Use PROP_INPUT_CURRENT_LIMIT to for vbus_draw iommu/arm-smmu: Add support to disable page-table coherency iommu/arm-smmu: Fix DOMAIN_ATTR_PAGE_TABLE_FORCE_COHERENT enablement defconfig: lahaina: Disable qbt_handler from QGKI config iio: adc: Add missing features in PMIC5 ADC Revert "ASoC: Update the widgets power up/down sequence" mm: slub: reinitialize random sequence cache on slab object update ion: Remove ION_HEAP_FLAG_DEFER_FREE for dynamic carveout heaps interconnect: qcom: Fix BW requests to L3_SHARED returning -EINVAL soc: qcom: msm_perf: fix invalid usuage of cpumask sched/fair: Improve the scheduler arm64: defconfig: define ARCH_LAHAINA for VM image to compile scsi: ufs-qcom: dump phy registers on error defconfig: lahaina-qgki: Enable QTI clk debugfs features for QGKI variant dt-bindings: interconnect: Update SLAVE_EPSS_L3_SHARED arm64: defconfig: Enable QRTR for genericarmv8 arm64: defconfig: Enable QRTR Haven for lahaina-gki AOSP change: Add fscrypt-provisioning to keyring usb: dwc3: Avoid resume_work flush in pm_suspend/pm_resume tty: hvc_haven: Use thread worker to send characters haven: rm: Clean VM Services - Console APIs arch: arm64: hh: Clobber x18 if SCS isn't enabled haven: hh_msgq: Let clients manage the buffers for hh_msgq_recv clk: qcom: rpmh: Add support for RPMH clocks for Shima drivers: llcc: Add LLCC driver for Shima cnss2: update firmware name for QCA6490 rev.2.0 drm/msm: make msm_drm.h uapi header safe for C++ arm64: kconfig: Add initial platform for Holi msm_geni_serial_console: Make early console depend on kernel console serial: msm_geni_serial: Use IS_ENABLED() instead of ifdef CONFIG msm: pcie: fix user info in client's event callback dwc3: Handle USB spoof disconnect when EUD is enabled msm: kgsl: Restrict gpu governors to gpu devfreq devices msm: cvp: Validate buffer config in HFI packet msm: ipa4: flow control changes for rmnet pipe drivers: soc: qti: Fix data type for uapi header msm: kgsl: Check the return value of regulator_enable msm: kgsl: Set the I/O coherent feature earlier drivers: cpuidle: lpm-levels: initialize latency to default i2c: i2c-msm-geni: Add support in I2C driver for Trusted VM memory_dump: Correct the copyright year leds: qti-flash: Update camera flash client interface options regulator: qpnp-amoled: Add set_load() callback for IBB regulator dt-bindings: clk: Remove unused cpuss clocks for Lahaina clk: qcom: gcc-lahaina: Remove unused cpuss clocks uapi: Fix more headers to work with UAPI_HEADER_TEST includes: Fix more headers to work with KERNEL_HEADER_TEST Revert "SoC: soc-core: export function to find components" msm: cvp: Optimize synX handling in cvp driver cnss2: Ignore ramdump init failure usb: gadget: Add super speed plus desc for midi function defconfig: lahaina: enable the fastrpc QGKI config option ALSA: core: set private data for snd_info_entry haven: Fix buffer calculations for MEM_SHARE and MEM_LEND haven: Fix NULL pointer dereference in hh_rm_populate_mem_attr_desc() Fix GKI compilation for inline encryption modules soc: qcom: altmode-glink: add SSR support power: supply: qti_battery_charger: add SSR support ucsi: ucsi_glink: add SSR support soc: qcom: pmic_glink: add subsystem restart (SSR) support soc: qcom: pmic_glink: rename callback function pointer msm: cvp: avoid checking read_idx again mem-buf: Replace *_TRUSTED_UI with *_TRUSTED_VM soc: qcom: secure_buffer: Remove support for VMID_TRUSTED_UI soc: qcom: mem-buf: Do not assume VMID values ion: Add support for dynamically assigned VMIDs haven: hh_msgq: Let clients manage the buffers for hh_msgq_send haven: msgq: Make the send/recv wait if the cap-id is not ready soc: qcom: mem-buf: Do not print errors on probe deferrals soc: qcom: rpmh_master_stat: Add island stats support input: touchscreen: st: enable aoi_set msm: pcie: update suppressible clock info usb: dwc3: Add tuning support for Gen2 Tx compliance parameters net: qrtr: Add haven transport kernel:hdcp_qseecom:Enable hdcp_qseecom on Lahaina msm: kgsl: Setup UCHE_CMDQ_CONFIG register for A660 crypto: msm: restrict value of num_fds to QCEDEV_MAX_BUFFERS usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset() i2c: i2c-msm-geni: Return correct error code if registration fail phy: ufs: Return error if UFS PHY reset control is not provided on RUMI smcinvoke: Return proper error in process_accept_req msm: adsprpc: store process specific info in GETINFO ioctl call iommu/arm-smmu: Record page table configuration in debug structures haven: Include notifer header file usb: gadget: qdss: Add NULL check against priv_usb with usb_qdss_close() soc: qcom: eud: Fix the power supply information msm: pcie: add PCIe GDSC disable/enable for DRV suspend/resume msm: pcie: remove aggregation of PCIe rate change clock vote msm: pcie: switch pipe clk mux source to XO before disabling GDSC msm: adsprpc: remove DMA coherency attributes in fastrpc driver msm: cvp: Reverse cvp gdsc and cbcr ctrl sequence iommu: iommu-debug: Fix input IOVA usage in atos_write() arm64: defconfig: Enable I2C and SPI dev files in lahaina arm64: defconfig: Enable Buses configs for trusted VM msm: adsprpc: Handle hyp assign errors properly for dsp msm: adsprpc: Fix for correct offset calculation usb: gadget: Reset string ids upon unbind arm64: defconfig: Enable neuron for genericarmv8 arm64: defconfig: Enable neuron for lahaina net: Add Neuron Framework phy: ufs: Update UFS PHY settings for Lahaina msm: cvp: Relocate CVP DSP interface init BACKPORT: extcon: Mark extcon_get_edev_name() function as exported symbol haven: Convert the cap entry locks to spinlocks usb: phy: Keep regulators on in probe if EUD is enabled icc: dt-bindings: add endpoint IDs for interconnects for SHIMA icc: dt-bindings: add endpoint IDs for interconnects for HOLI arm: defconfig: Enable Slimbus and QUPv3 drivers as modules on Lahaina haven: msgq: Initialize the cap-id with U64_MAX Revert "cnss2: Add support for bus bandwidth scale" coresight: Add spin_lock_init for funnel and replicator cnss2: Make sure PCIe link is in L0 state before updating time sync tty: msm_geni: Do not place msm_geni_console_setup under __init interconnect: qcom: Set QoS on the first bandwidth request msm: ADSPRPC: Embed job type in context identifier clk: qcom: gcc-lahaina: Keep ice core memory retained across gdsc collapse drivers: of-thermal: Handle krealloc failure correctly arm64: defconfig: Enable media and UVC drivers on Lahaina msm: adsprpc: Adding inrout buffer cache maintenance support serial: msm_geni_serial: Separate earlyconsole functionality defconfig: Enable mem_dump driver on gki build for lahaina soc: memory_dump: Add moudle support for mem_dump driver msm: sps: Fix the SPS_DBG macro definitions HID: qvr: Removing axis orientation arm64: defconfig: Add support for LKDTM on Lahaina soc: qcom: Log the pending interrupts during the device resume pinctrl: qcom: Add GPIO wakeup interrupt map for Shima drivers: irqchip: qcom-pdc: Add PDC IRQ chip support for shima coresight: cti: Correct checking return value of device resume msm: kgsl: Retry setting the SMMU aperture on A6XX targets mhi: core: create sysfs nodes before devices mhi: core: Add support to create uncached event ring mhi: core: Cache last processed event ring element mhi: core: move non-essential errors to log messages scsi: ufs-qti: Enable block layer runtime PM for well-known logical units msm: pcie: use a local copy for PCIe event callback msm: pcie: validate speed switch request msm: pcie: correct cached PCIe link BW max gen speed sched: walt: Improve the Scheduler clk: qcom: gdsc-regulator: Remove regulator voltage level voting msm: ipa4: new qmap flow control pipe definitions msm: ipa4: function prototype for new qmap flow control defconfig: Support for QTI inline encryption soc: qcom: add HWKM driver for FBE ufs: ice: add variant ops for ICE power: supply: qti_battery_charger: Allow ICL to be set only for SDP mhi: core: Force PM state to M0 while processing BW scaling event msm: kgsl: Scale hub clock to 150 Mhz msm: kgsl: LPAC is using incorrect pagetable ANDROID: selinux: modify RTM_GETLINK permission msm: kgsl: Don't send same bus vote repeatedly drivers: input: touchscreen: defer probe if panel not found mhi: core: Add range check for channel id received in event ring msm: pcie: correct PCIe1 and PCIe2 clock order mhi: core: Finish pending reg writes before entering suspend mhi: core: Add support to offload MHI register write to worker thread mhi: core: Add write_reg call back for mhi controller mhi: core: Treat MHI_ASSERT as fatal error defconfig: arm64: Enable EUD driver for GKI cnss2: Avoid blocking target to reboot or shutdown arm64: defconfig: Enable QVR HID driver on Lahaina HID: Adding new id for hid-qvr support HID: Adding new vendor id for QVR support arm64: defconfig: Enable hung tasks detection hung task: check specific tasks for long uninterruptible sleep state staging: ion: Allow for attach and detach ops to be overridden mhi: core: Read transfer length from an event properly mhi: core: Dump more logs when invalid cookie is received mhi: core: Skip handling MSI0 if MHI register access is not allowed mhi: core: handle pm error state transition within fast suspend/resume mhi: cntrl: qcom: notify DRV suspend if device wake is set mhi: device: netdev: Add flag to track napi scheduling mhi: core: fix fast forward recycling of event rings mhi: cntrl: qcom: disable boot logger after forced suspend bus: mhi_netdev: Free background memory pool during memory free mhi: core: Add NULL check in debugfs show callback mhi: core: Synchronize time sync operation and removal msm: cvp: A fix of cvp issue in camera dwc3-msm: Check usb role switch status msm: kgsl: use correct load bit value for rbbm perf counter interconnect: qcom: Don't vote using unrelated voters in sync_state FROMGIT: BACKPORT: driver core: Add device links from fwnode only for the primary device defconfig: lahaina: Enable PRIORITIZE_OOM_TASKS msm: ipa: remove ipa and gsi from kernel regulator: qpnp-lcdb: Replace revid checks with DT compatible properties firmware: qcom_scm: Fix the __qcom_scm_is_call_available Do not use __qcom_scm_is_call_available in atomic context soc: qcom: spcom: return EINTR on wait interrupted soc: qcom: spcom: fix pr_err() missing "name" parameter devfreq: update sampling window timer limit devfreq: update sample_ms tunnable store function cnss2: Add support for bus bandwidth scale radio: RTC6226: correctly cleanup videodev input: misc: qcom-hv-haptics: Add support for V2 HW module arm64: defconfig: Enable QCOM_MEM_BUF on genericarmv8-64 soc: qcom: kconfig: Relax QCOM_MEM_BUF dependencies arm64: defconfig: Enable memory configs on genericarmv8-64 mmc: sdhci-msm: Avoid enable SD card power if card is removed mmc: sdhci-msm: Port the SD card code to Lahaina platforms arm64: defconfig: Enable memory hotplug configs on genericarmv8-64 mm/Kconfig: Remove dependency on QCOM_MEM_OFFLINE for movable zone defconfig: lahaina-gki: Enable interconnect debugfs test nodes cnss2: Add debugfs support to send WFC call status QMI message arm64: defconfig: Enable ZRAM on genericarmv8-64 arm64: defconfig: Enable CMA optimizations for genericarmv8-64 mm/Kconfig: Relax CMA optimization dependencies interconnect: Add debugfs test code cnss2: Serialize driver unload and idle restart msm: pcie: skip memory access when collecting PCIe PARF registers mm: correct ALLOC_WMARK_MIN flag check for atomic allocations mm: discard free cma pages in boost_eligible calculations mm: ignore boosting for min watermark mm: ignore the boosting of watermark under lowmemory mm: reap tasks only killed by low memory killer arm64: defconfig: Enable debugging support for spinlocks perf: Satisfy the kernel's request to request PMU counters soc: qcom: socinfo: Add soc information for Shima interconnect: Add interconnect_graph file to debugfs arm64: defconfig: Enable BFQ io scheduler on lahaina soc: qcom: spcom: allow commands for not connected channel input: qcom-hv-haptics: Add a regulator device to control SWR slave power: supply: qti-battery-charger: Initialize pmic_glink_client_data arm: defconfig: Disable serial device bus msm: adsprpc: increase max number of concurrent remote sessions FROMGIT: driver core: Call sync_state() even if supplier has no consumers sched: Add support to spread tasks kernel_headers: Add msm_hdmi_hdcp_mgr.h header iommu/arm-smmu: Add implementation specific device group matching iommu/arm-smmu: Add support for implementation specific removal iommu/arm-smmu: Add support for implementation specific debugging iommu/arm-smmu: Add implementation specific CB initialization hook iommu/arm-smmu: Rework QSMMUV500 initialization iommu/arm-smmu: Prepare to migrate QSMMUV500 implementation details defconfig: enable QRNG as a GKI module soc: qcom: hyp_core_ctl: Add frequency QoS support msm: ADSPRPC: Awake PM with a timeout arm64: defconfig: Enable Atmel touchscreen on Lahaina input: touchscreen: propagate changes from 4.14 to 5.4 for Atmel MXT driver haven: doorbell: Fix hh_dbl_send error print haven: doorbell: Pass cap_table_entry as irq private haven: doorbell: Add IRQF_ONESHOT flag sched/fair: Allow load bigger task load balance when nr_running is 2 ion: Fix to record NR_KERNEL_MISC_RECLAIMABLE in page units mm: oom_kill: Support further prioritization of OOM kills sched: Improve the scheduler sched/fair: reduce no-hz idle balance for energy aware systems defconfig: lahaina: Enable support for dma-coherent-hint-cached dma-mapping: add support for dma-coherent-hint-cached msm: adsprpc: Validate smmu device is created before using it defconfig: Disable fastrpc driver from kernel image drivers: lpm-levels: check for per-cpu dev PM QoS wil6210: Add support for 11ad platform driver qseecom: Proper handling of unmapping dmabuf scsi: ufs-qcom: Add one vendor specific sysfs group arm64: kpti: force off kpti arm64: defconfig: enable QPNP AMOLED regulator driver on Lahaina msm: cvp: Reduce CVP dmabuf mapping overhead PM / devfreq: memlat: fix suspend/resume calls to devfreq_monitor spmi: spmi-pmic-arb: make interrupt support optional spmi: spmi-pmic-arb: add support to map SPMI addresses to physical addr soc: qcom: msm_perf: add null policy checks for cpufreq policy defconfig: lahaina: Enable GPU driver msm: kgsl: Enable apb clock before isdb register writes msm: cvp: Disable CVP_DBG traces by default net: qrtr: mhi: Set mhi driver data before registering with qrtr msm: kgsl: Make OOB timeouts easier to debug msm: kgsl: Move ringbuffer start to target specific code msm: kgsl: Remove unneeded parameters for the sharedmem funcs msm: kgsl: Read snapshot registers in the target specific functions msm: kgsl: Remove references to adreno_regs from target specific code msm: kgsl: Remove soft fault registers from a5xx msm: kgsl: Print always on counters if HFI timed out msm: kgsl: Add a GMU core function to read the always on counter msm: kgsl: remove redundant check for usermem type msm: kgsl: fix accounting of memory mapped to userspace msm: kgsl: Dump GPU registers only when GX is ON msm: kgsl: Configure IFPC perf counter in platform_setup msm: kgsl: Fix conditional check for GMU_NONCACHED_USER msm: kgsl: Return correctly from gmu_core_dev_wait_for_lowest_idle msm: kgsl: Dump the always on counter for a6xx interrupts msm: kgsl: Properly handle attach error for secure pagetable msm: kgsl: Finish up probe cleanups msm: kgsl: Handle a defer from IOMMU msm: kgsl: Cleanup the adreno SOC HW probe msm: kgsl: Move context aware scaling to the scaling code msm: kgsl: Use the GPU platform device when it is appropriate msm: kgsl: Use booleans for power control features msm: kgsl: Fixup the GMU probe msm: kgsl: Fixup the RGMU probe msm: kgsl: Move hw_isidle to target specific code msm: kgsl: Clean up the reset and soft reset paths interconnect: qcom: Support bcm-voter-specific TCS wait behavior interconnect: qcom: Don't redefine bucket/tag macros dt-bindings: interconnect: Add generic qcom bindings leds: qpnp: Add snapshot of vibrator LDO driver arm64: defconfig: Enable QTI_IOMMU_SUPPORT only on target configurations iommu: arm-smmu: Fix domain logger use-after-free scsi: ufs-qcom: Configure LPM timer settings dwc3-msm: Increment req->num_trbs on queueing TRB trace: Add warning threshold for irqsoff time trace: Toggle irqsoff tracing to dmesg msm: kgsl: Update the GMU AO clockgating value sched: remove weak keyword from function declarations power_supply: Register cooling device outside of probe defconfig: arm64: Enable dummy netdevice regulator: Add QTI LCDB regulator driver radio: RTC6226: post tune success event when scan done rtc-pm8xxx: Clear Alarm register on resume slimbus: Add changes to make slimbus GKI compliant msm: cvp: Restructure CVP buffer management leds: qti-flash: Add support for on_time and off_time parameters sched/fair: Change PELT half-life to 8ms msm: kgsl: Fix to record NR_KERNEL_MISC_RECLAIMABLE in page units Perf: arm64: Add Snapshot of perf tracepoints arm: defconfig: Enable STM_PROTO_BASIC for lahaina platform: msm: Add snapshot of msm_11ad driver defconfig: lahaina-qgki: enable qoslat driver usb: phy: qmp: Perform DP_COM_SW_RESET during portselect usb: gadget: f_diag: Expose DLOAD pid/serial entries to configfs clk: qcom: clk-debug: List regs only if respective clk is qcom-regmap clk clk: qcom: Maintain qcom_regmap_list of qcom clks arm64: defconfig: Enable QRTR MHI on lahaina_gki arm64: defconfig: Enable IPC logging driver for lahaina_qgki arm64: defconfig: select CONFIG_USB_CONFIGFS_NCM on Lahaina coresight-tmc-etr : Call _tmc_disable_etr_sink when switch mode memshare: Use QMI request structure size as decode buffer size msm: ipa3: Updating SRAM locations for lito clk: qcom: lahaina: Add sync_state callbacks clk: qcom: Add generic sync_state callback interconnect: qcom: Fix uninitialized tcs_cmd::wait haven: doorbell: Add neuron and qrtr labels msm: kgsl: Fix GPU UBWC setting for DDR 5 cnss2: Assert if cold boot calibration times out in debug builds msm: kgsl: Do not send NMI to GMU on CM3 fault msm: pcie: replace all memory barriers with readbacks usb: gadget: Prevent use after free in qdss connect & close interconnect: qcom: Ignore -EBUSY for AMC requests defconfig: Enable LMH DCVS driver for lahaina driver: thermal: msm_lmh_dcvs: Add a snapshot of LMH DCVS driver scsi: ufs-qcom: Enable runtime auto suspend iommu: arm-smmu: fix check for need for preallocate memory ASoC: Update the Max value of integer controls mm: oom_kill: Prevent debug messages from going to serial console msm: kgsl: Add the list of protected registers for A660 msm: kgsl: Add the CP protected registers to the A660 list clk: qcom: clk-debug: Add mc_cc_debug_mux in gcc debug parent list iommu/arm-smmu: replicate faulty transaction iommu: arm-smmu: fix compile error if CONFIG_PCI disabled msm: kgsl: Restart a6xx gpu only once msm: kgsl: Correctly handle oob and fenced write failures msm: kgsl: Correctly handle gmu fault interrupts msm: kgsl: Correctly handle CP_INIT failure msm: kgsl: Take GMU snapshot on GMU failures msm: kgsl: Set gmu fault inside gmu_snapshot msm: kgsl: Handle the very first gmu boot failure ion: don't call free_buffer_page on failure of ion_hyp_unassign_sg ion: fix hyp_assign_sg failure handling usb: gsi: Dont mask read api for dpl_ctl node soc: qti_battery_debug: Add votables R/W support soc: qcom: ssr: Rename the module to 'subsystem_restart' drivers: thermal: bcl_soc: Read charge depletion percentage driver: thermal: bcl_pmic5: Register vbat only when enabled power_supply: Use of-thermal cdev registration API input: qcom-hv-haptics: ignore parsing non-effect subnodes Revert "BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series" msm: cvp: Support CVP session flush Revert "usb: gadget: Mark usb gsi driver dma memory as cached" usb: dwc3: gadget: update the return value of pullup function msm: pcie: lower event callback print prority cpuidle: lpm-levels: convert PSCI return value to boolean correctly soc: qcom: rpmh: remove serialization of TCS commands msm: kgsl: Program GPU SCID for UCHE traffic cnss_nl: Add new attributes for cld80211 attr list defconfig: arm64: Enable hyp core control driver for Lahaiana soc: qcom: Add snapshot of hyp_core_ctl driver virt/haven: populate VCPU resources haven: hcall: Add vcpu affinity API drivers: thermal: reintroduce notifier for max level transitions defconfig: lahaina: Enable QTI_PMIC_GLINK_CLIENT_DEBUG soc: Kconfig: Add QTI_PMIC_GLINK_CLIENT_DEBUG arm64: defconfig: Enable SD card on Lahaina power: supply: qti_battery_charger: add thermal mitigation support Linux 5.4.24 blktrace: Protect q->blk_trace with RCU kvm: nVMX: VMWRITE checks unsupported field before read-only field kvm: nVMX: VMWRITE checks VMCS-link pointer before VMCS field mm, thp: fix defrag setting if newline is not used mm/huge_memory.c: use head to check huge zero page mm/gup: allow FOLL_FORCE for get_user_pages_fast() mm/debug.c: always print flags in dump_page() locking/lockdep: Fix lockdep_stats indentation problem xfs: clear kernel only flags in XFS_IOC_ATTRMULTI_BY_HANDLE bus: tegra-aconnect: Remove PM_CLK dependency netfilter: nf_flowtable: fix documentation netfilter: nft_tunnel: no need to call htons() when dumping ports thermal: brcmstb_thermal: Do not use DT coefficients thermal: db8500: Depromote debug print ubifs: Fix ino_t format warnings in orphan_delete() rcu: Allow only one expedited GP to run concurrently with wakeups KVM: x86: Remove spurious clearing of async #PF MSR KVM: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path x86/resctrl: Check monitoring static key in the MBM overflow handler perf ui gtk: Add missing zalloc object perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc pwm: omap-dmtimer: put_device() after of_find_device_by_node() lib/vdso: Update coarse timekeeper unconditionally lib/vdso: Make __arch_update_vdso_data() logic understandable kprobes: Set unoptimized flag after unoptimizing code ima: ima/lsm policy rule loading logic bug fixes drivers: net: xgene: Fix the order of the arguments of 'alloc_etherdev_mqs()' RDMA/hns: Bugfix for posting a wqe with sge RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs f2fs: fix to add swap extent correctly sched/fair: Optimize select_idle_cpu KVM: Check for a bad hva before dropping into the ghc slow path KVM: SVM: Override default MMIO mask if memory encryption is enabled mwifiex: delete unused mwifiex_get_intf_num() mwifiex: drop most magic numbers from mwifiex_process_tdls_action_frame() namei: only return -ECHILD from follow_dotdot_rcu() kbuild: make single target builds even faster kbuild: remove unneeded variable, single-all kbuild: move headers_check rule to usr/include/Makefile kbuild: remove header compile test selftests: Install settings files to fix TIMEOUT failures net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE net/smc: no peer ID in CLC decline for SMCD net: atlantic: fix out of range usage of active_vlans array net: atlantic: fix potential error handling net: atlantic: fix use after free kasan warn net: netlink: cap max groups which will be considered in netlink_bind() s390/qeth: vnicc Fix EOPNOTSUPP precedence nvme-pci: Hold cq_poll_lock while completing CQEs usb: charger: assign specific number for enum value hv_netvsc: Fix unwanted wakeup in netvsc_attach() kbuild: fix DT binding schema rule to detect command line changes mac80211: Remove a redundant mutex unlock nl80211: fix potential leak in AP start drm/i915/gvt: Separate display reset from ALL_ENGINES reset drm/i915/gvt: Fix orphan vgpu dmabuf_objs' lifetime i2c: jz4780: silence log flood on txabrt i2c: altera: Fix potential integer overflow MIPS: VPE: Fix a double free and a memory leak in 'release_vpe()' HID: hiddev: Fix race in in hiddev_disconnect() HID: alps: Fix an error handling path in 'alps_input_configured()' netfilter: xt_hashlimit: reduce hashlimit_mutex scope for htable_put() netfilter: ipset: Fix forceadd evaluation path vhost: Check docket sk_family instead of call getname net/smc: transfer fasync_list in case of fallback netfilter: ipset: Fix "INFO: rcu detected stall in hash_xxx" reports io_uring: fix 32-bit compatability with sendmsg/recvmsg cpufreq: Fix policy initialization for internal governor drivers amdgpu/gmc_v9: save/restore sdpif regs during S3 Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs" tracing: Disable trace_printk() on post poned tests macintosh: therm_windtunnel: fix regression when instantiating devices drm/radeon: Inline drm_get_pci_dev drm/amdgpu: Drop DRIVER_USE_AGP HID: core: increase HID report buffer size to 8KiB HID: core: fix off-by-one memset in hid_report_raw_event() HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock KVM: VMX: check descriptor table exits on instruction emulation ACPI: watchdog: Fix gas->access_width usage ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro audit: always check the netlink payload length in audit_receive_msg() audit: fix error handling in audit_data_to_entry() ext4: potential crash on allocation error in ext4_alloc_flex_bg_array() nvme/pci: move cqe check after device shutdown nvme: prevent warning triggered by nvme_stop_keep_alive nvme/tcp: fix bug on double requeue when send fails net: hns3: fix a copying IPv6 address error in hclge_fd_get_flow_tuples() net: hns3: add management table after IMP reset mac80211: fix wrong 160/80+80 MHz setting cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE cifs: Fix mode output in debugging statements ice: update Unit Load Status bitmask to check after reset net: ena: ena-com.c: prevent NULL pointer dereference net: ena: ethtool: use correct value for crc32 hash net: ena: fix corruption of dev_idx_to_host_tbl net: ena: fix incorrectly saving queue numbers when setting RSS indirection table net: ena: rss: store hash function as values and not bits net: ena: rss: fix failure to get indirection table net: ena: rss: do not allocate key when not supported net: ena: fix incorrect default RSS key net: ena: add missing ethtool TX timestamping indication net: ena: fix uses of round_jiffies() net: ena: fix potential crash when rxfh key is NULL i40e: Fix the conditional for i40e_vc_validate_vqs_bitmaps soc/tegra: fuse: Fix build with Tegra194 configuration amdgpu: Prevent build errors regarding soft/hard-float FP ABI tags drm/amd/display: Add initialitions for PLL2 clock source drm/amd/display: Limit minimum DPPCLK to 100MHz. drm/amd/display: Check engine is not NULL before acquiring RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready() drm/amd/display: Do not set optimized_require to false after plane disable ARM: dts: sti: fixup sound frame-inversion for stihxxx-b2120.dtsi ceph: do not execute direct write in parallel if O_APPEND is specified perf/x86/msr: Add Tremont support perf/x86/cstate: Add Tremont support perf/x86/intel: Add Elkhart Lake support perf/smmuv3: Use platform_get_irq_optional() for wired interrupt NFSv4: Fix races between open and dentry revalidation qmi_wwan: unconditionally reject 2 ep interfaces qmi_wwan: re-add DW5821e pre-production variant s390/zcrypt: fix card and queue total counter wrap cfg80211: check wiphy driver existence for drvinfo report mac80211: consider more elements in parsing CRC dax: pass NOWAIT flag to iomap_apply sched/fair: Prevent unlimited runtime on throttled group timers/nohz: Update NOHZ load in remote tick sched/core: Don't skip remote tick for idle CPUs drm/msm: Set dma maximum segment size for mdss ipmi:ssif: Handle a possible NULL pointer reference ipv6: Fix nlmsg_flags when splitting a multipath route ipv6: Fix route replacement with dev-only route bonding: fix lockdep warning in bond_get_stats() net: export netdev_next_lower_dev_rcu() bonding: add missing netdev_update_lockdep_key() bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs. bnxt_en: Improve device shutdown method. sctp: move the format error check out of __sctp_sf_do_9_1_abort udp: rehash on disconnect Revert "net: dev: introduce support for sch BYPASS for lockless qdisc" qede: Fix race between rdma destroy workqueue and link change event nfc: pn544: Fix occasional HW initialization failure net/tls: Fix to avoid gettig invalid tls record net: sched: correct flower port blocking net: phy: restore mdio regs in the iproc mdio driver net: mscc: fix in frame extraction net: macb: ensure interface is not suspended on at91rm9200 net: fib_rules: Correctly set table field when table number exceeds 8 bits net: dsa: b53: Ensure the default VID is untagged EDAC: skx_common: downgrade message importance on missing PCI device io_uring: grab ->fs as part of async offload NFC: Add timeout when waiting for responses in probe ABI: aarch64: Update the ABI snapshot msm: kgsl: Move event groups to the KGSL device msm: kgsl: Make interrupt handlers more target specific msm: kgsl: Move the legacy speed bin code to adreno msm: kgsl: Get the lm_slope on demand msm: kgsl: Get rid of mmu_init msm: kgsl: Initialize the default pagetables at probe time msm: kgsl: Probe LLCC before setting up MMU msm: kgsl: Refactor IOMMU register macros msm: kgsl: Simplify the mmu probe msm: kgsl: Fix up the MMU features msm: kgsl: Map globals in the LPAC pagetable too msm: kgsl: Only add OPP levels to the device once msm: kgsl: Add MODULE_SOFTDEP dependencies dt-bindings: thermal_qti: Add thermal devicetree Macro ANDROID: abi_gki_aarch64_whitelist: add module_layout and task_struct ANDROID: gki_defconfig: disable KPROBES, update ABI usb: gadget: Stall OS descriptor request for unsupported functions FROMGIT: scsi: ufs: Select INITIAL ADAPT type for HS Gear4 FROMLIST: scsi: ufs: Use ufshcd_config_pwr_mode() when scale gear FROMGIT: scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices FROMGIT: scsi: ufs: Allow vendor device quirks to be applied early BACKPORT: scsi: ufs: Delete struct ufs_dev_desc msm: pcie: add proper PCIe link state for linkdown msm: pcie: add logs for link bandwidth switching ANDROID: gki_defconfig: enable IOMMU_LIMIT_IOVA_ALIGNMENT FROMLIST: iommu/iova: Support limiting IOVA alignment FROMLIST: iommu/iova: Add a best-fit algorithm FROMLIST: iommu/dma: Allow drivers to reserve an iova range ANDROID: Unconditionally create bridge tracepoints ANDROID: gki_defconfig: Enable MFD_SYSCON on x86 ANDROID: update ABI for CONFIG_IIO_* changes ANDROID: gki_defconfig: add CONFIG_IIO_BUFFER and CONFIG_IIO_TRIGGER ANDROID: gki: set CONFIG_SERIAL_SPRD_CONSOLE for earlycon ANDROID: Re-add default y for VIRTIO_PCI_LEGACY ANDROID: GKI: build in HVC_DRIVER ANDROID: Removed default m for virtual sw crypto device ANDROID: Remove default y on BRIDGE_IGMP_SNOOPING ANDROID: GKI: Added missing SND configs ANDROID: scsi: ufs: allow ufs variants to override sg entry size msm: ipa: Update source and dest resource group config values ANDROID: GKI: Remove CONFIG_BRIDGE from arm64 config ANDROID: Enable HID_NINTENDO as y FROMLIST: HID: nintendo: add nintendo switch controller driver UPSTREAM: iommu/arm-smmu: Restore naming of driver parameter prefix cpuidle: lpm-levels: Print enabled clocks, regulators on cpu/cluster LPM clk: Print enabled clock tree when cpu/cluster enters LPM level ANDROID: gki_defconfig: Remove 'BRIDGE_NETFILTER is not set' UPSTREAM: net: disable BRIDGE_NETFILTER by default Linux 5.4.23 ASoC: SOF: Intel: hda: Add iDisp4 DAI bpf: Selftests build error in sockmap_basic.c s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range s390/kaslr: Fix casts in get_random net/mlx5e: Fix crash in recovery flow without devlink reporter net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY xen: Enable interrupts when calling _cond_resched() ata: ahci: Add shutdown to freeze hardware resources of ahci io_uring: prevent sq_thread from spinning when it should stop rxrpc: Fix call RCU cleanup using non-bh-safe locks netfilter: xt_hashlimit: limit the max size of hashtable ALSA: seq: Fix concurrent access to queue current tick/time ALSA: seq: Avoid concurrent access to queue flags ALSA: rawmidi: Avoid bit fields for state flags io_uring: fix __io_iopoll_check deadlock in io_sq_thread arm64: lse: Fix LSE atomics with LLVM bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill genirq/proc: Reject invalid affinity masks (again) crypto: rename sm3-256 to sm3 in hash_algo_name iommu/vt-d: Fix compile warning from intel-svm.h ecryptfs: replace BUG_ON with error handling code ASoC: fsl_sai: Fix exiting path on probing failure ASoC: atmel: fix atmel_ssc_set_audio link failure staging: greybus: use after free in gb_audio_manager_remove_all() staging: rtl8723bs: fix copy of overlapping memory usb: dwc2: Fix in ISOC request length checking usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session" scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout" drm/msm/dpu: fix BGR565 vs RGB565 confusion drm/i915/gt: Protect defer_request() from new waiters drm/bridge: tc358767: fix poll timeouts drm/i915/gvt: more locking for ppgtt mm LRU list drm/i915/execlists: Always force a context reload when rewinding RING_TAIL drm/i915/gt: Detect if we miss WaIdleLiteRestore Revert "dmaengine: imx-sdma: Fix memory leak" Btrfs: fix deadlock during fast fsync when logging prealloc extents beyond eof btrfs: don't set path->leave_spinning for truncate Btrfs: fix race between shrinking truncate and fiemap Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents btrfs: do not check delayed items are empty for single transaction cleanup btrfs: reset fs_root to NULL on error in open_ctree btrfs: fix bytes_may_use underflow in prealloc error condtition btrfs: destroy qgroup extent records on transaction abort KVM: apic: avoid calculating pending eoi from an uninitialized val KVM: nVMX: handle nested posted interrupts when apicv is disabled for L1 KVM: nVMX: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled KVM: nVMX: Check IO instruction VM-exit conditions KVM: nVMX: Refactor IO bitmap checks into helper function ext4: fix race between writepages and enabling EXT4_EXTENTS_FL ext4: rename s_journal_flag_rwsem to s_writepages_rwsem ext4: fix mount failure with quota configured as module ext4: fix potential race between s_flex_groups online resizing and access ext4: fix potential race between s_group_info online resizing and access ext4: fix potential race between online resizing and write operations ext4: add cond_resched() to __ext4_find_entry() ext4: fix a data race in EXT4_I(inode)->i_disksize KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI KVM: nVMX: Don't emulate instructions in guest mode sched/psi: Fix OOB write when writing 0 bytes to PSI files drm/i915: Update drm/i915 bug filing URL drm/i915: Wean off drm_pci_alloc/drm_pci_free drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets drm/amdgpu/gfx10: disable gfxoff when reading rlc clock drm/amdgpu/gfx9: disable gfxoff when reading rlc clock drm/amdgpu/soc15: fix xclk for raven mm: Avoid creating virtual address aliases in brk()/mmap()/mremap() lib/stackdepot.c: fix global out-of-bounds in stack_slabs mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM mm/vmscan.c: don't round up scan size for online memory cgroup genirq/irqdomain: Make sure all irq domain flags are distinct nvme-multipath: Fix memory leak with ana_log_buf mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps() Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()" ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake() MAINTAINERS: Update drm/i915 bug filing URL serdev: ttyport: restore client ops on deregistration tty: serial: qcom_geni_serial: Fix RX cancel command failure tty: serial: imx: setup the correct sg entry for tx dma tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode serial: 8250: Check UPF_IRQ_SHARED in advance x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF x86/mce/amd: Fix kobject lifetime x86/mce/amd: Publish the bank pointer only after setup has succeeded x86/ima: use correct identifier for SetupMode variable jbd2: fix ocfs2 corrupt when clearing block group bits arm64: memory: Add missing brackets to untagged_addr() macro powerpc/hugetlb: Fix 8M hugepages on 8xx powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size powerpc/entry: Fix an #if which should be an #ifdef in entry_32.S powerpc/tm: Fix clearing MSR[TS] in current when reclaiming on signal delivery powerpc/eeh: Fix deadlock handling dead PHB powerpc/8xx: Fix clearing of bits 20-23 in ITLB miss drm/panfrost: perfcnt: Reserve/use the AS attached to the perfcnt MMU context staging: rtl8723bs: Fix potential overuse of kernel memory staging: rtl8723bs: Fix potential security hole staging: rtl8188eu: Fix potential overuse of kernel memory staging: rtl8188eu: Fix potential security hole scsi: Revert "target/core: Inline transport_lun_remove_cmd()" usb: dwc3: debug: fix string position formatting mixup with ret and len usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows USB: hub: Fix the broken detection of USB3 device in SMSC hub USB: hub: Don't record a connect-change event during reset-resume USB: Fix novation SourceControl XL after suspend usb: uas: fix a plug & unplug racing USB: quirks: blacklist duplicate ep on Sound Devices USBPre2 USB: core: add endpoint-blacklist quirk usb: host: xhci: update event ring dequeue pointer on purpose xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2 xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms xhci: fix runtime pm enabling for quirky Intel hosts xhci: Force Maximum Packet size for Full-speed bulk devices to valid range. staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi. staging: android: ashmem: Disallow ashmem memory from being remapped vt: vt_ioctl: fix race in VT_RESIZEX vt: selection, handle pending signals in paste_selection vt: fix scrollback flushing on background consoles floppy: check FDC index for errors before assigning it e1000e: Use rtnl_lock to prevent race conditions between net and pci/pm USB: misc: iowarrior: add support for the 100 device USB: misc: iowarrior: add support for the 28 and 28L devices USB: misc: iowarrior: add support for 2 OEMed devices thunderbolt: Prevent crash if non-active NVMem file is read btrfs: handle logged extent failure properly ecryptfs: fix a memory leak bug in ecryptfs_init_messaging() ecryptfs: fix a memory leak bug in parse_tag_1_packet() tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST ASoC: sun8i-codec: Fix setting DAI data format ASoC: codec2codec: avoid invalid/double-free of pcm runtime ALSA: hda/realtek - Apply quirk for yet another MSI laptop ALSA: hda/realtek - Apply quirk for MSI GP63, too ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs iommu/qcom: Fix bogus detach logic UPSTREAM: sched/psi: Fix OOB write when writing 0 bytes to PSI files ANDROID: build.config.gki.aarch64: enable symbol trimming clk: Move clk_debug_print_enabled to linux clk header ANDROID: kbuild: avoid excessively long argument lists ANDROID: gki_defconfig: Enable CONFIG_RD_LZ4 ANDROID: net: wireless: Add module_param(mac_prefix) to mac80211_hwsim ANDROID: gki: Enable BINFMT_MISC as part of GKI ANDROID: gki_defconfig: disable CONFIG_CRYPTO_MD4 FROMLIST: kbuild: generate autoksyms.h early FROMLIST: kbuild: split adjust_autoksyms.sh in two parts FROMLIST: kbuild: allow symbol whitelisting with TRIM_UNUSED_KSYMS coresight: tmc-etr: fix null ptr dereferencing in usb_qdss_close ANDROID: ABI/Whitelist: update for unisoc ANDROID: Disable wq fp check in CFI builds ANDROID: gki_defconfig: Disable CONFIG_RT_GROUP_SCHED FROMGIT: of: property: Add device link support for power-domains and hwlocks ANDROID: drm/msm/a6xx: Make a6xx_gmu_bo.iova a dma_addr_t FROMLIST: of: of_reserved_mem: Increase limit on number of reserved regions arm64: defconfig: Enable ION support on genericarmv8-64_defconfig ion: Relax CONFIG_ION_MSM_HEAPS dependencies ANDROID: dm: Add wrapped key support in dm-default-key ANDROID: dm: add support for passing through derive_raw_secret ANDROID: block: Prevent crypto fallback for wrapped keys FROMLIST: drm/msm/a6xx: Use the DMA API for GMU memory objects FROMLIST: arm64: dts: sdm845: Set the virtual address range for GMU allocations UPSTREAM: of: Make of_dma_get_range() work on bus nodes UPSTREAM: of/address: Fix of_pci_range_parser_one translation of DMA addresses UPSTREAM: of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' UPSTREAM: of: Factor out #{addr,size}-cells parsing UPSTREAM: of: address: Follow DMA parent for "dma-coherent" UPSTREAM: of/address: Introduce of_get_next_dma_parent() helper UPSTREAM: of: Make of_dma_get_range() private ANDROID: fix merge issue in 5.4.22 ANDROID: update ABI for 5.4.22 Linux 5.4.22 rtc: Kconfig: select REGMAP_I2C when necessary bcache: properly initialize 'path' and 'err' in register_bcache() drm/amdgpu/display: handle multiple numbers of fclks in dcn_calcs.c (v2) s390/pci: Recover handle in clp_set_pci_fn() mlxsw: spectrum_dpipe: Add missing error path fuse: don't overflow LLONG_MAX with end offset virtio_balloon: prevent pfn array overflow cifs: log warning message (once) if out of disk space i40e: Relax i40e_xsk_wakeup's return value when PF is busy help_next should increase position index NFS: Fix memory leaks drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_voltage drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_latency brd: check and limit max_part par microblaze: Prevent the overflow of the start asm-generic/tlb: add missing CONFIG symbol iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta() iwlwifi: mvm: Fix thermal zone registration nvme-pci: remove nvmeq->tags nvmet: Pass lockdep expression to RCU lists irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL bcache: fix incorrect data type usage in btree_flush_write() bcache: explicity type cast in bset_bkey_last() bcache: fix memory corruption in bch_cache_accounting_clear() reiserfs: prevent NULL pointer dereference in reiserfs_insert_item() lib/scatterlist.c: adjust indentation in __sg_alloc_table ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans() ocfs2: make local header paths relative to C files btrfs: do not do delalloc reservation under page lock powerpc: Do not consider weak unresolved symbol relocations as bad radeon: insert 10ms sleep in dce5_crtc_load_lut trigger_next should increase position index ftrace: fpid_next() should increase position index char: hpet: Fix out-of-bounds read bug drm/nouveau/disp/nv50-: prevent oops when no channel method map provided irqchip/gic-v3: Only provision redistributors that are enabled in ACPI drm/amd/display: do not allocate display_mode_lib unnecessarily rbd: work around -Wuninitialized warning ceph: check availability of mds cluster on mount after wait timeout powerpc/mm: Don't log user reads to 0xffffffff bpf: map_seq_next should always increase position index cifs: fix NULL dereference in match_prepath cifs: Fix mount options set in automount cifs: fix unitialized variable poential problem with network I/O cache lock patch iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop rtw88: fix potential NULL skb access in TX ISR hostap: Adjust indentation in prism2_hostapd_add_sta ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 ARM: 8951/1: Fix Kexec compilation issue. selftests/eeh: Bump EEH wait time to 60s powerpc/pseries/lparcfg: Fix display of Maximum Memory jbd2: make sure ESHUTDOWN to be recorded in the journal superblock jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record selftests: bpf: Reset global state between reuseport test runs alarmtimer: Make alarmtimer platform device child of RTC device iommu/vt-d: Remove unnecessary WARN_ON_ONCE() bcache: fix use-after-free in register_bcache() bcache: rework error unwinding in register_bcache bcache: cached_dev_free needs to put the sb page btrfs: Fix split-brain handling when changing FSID to metadata uuid btrfs: separate definition of assertion failure handlers media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV drm/nouveau/mmu: fix comptag memory leak sunrpc: Fix potential leaks in sunrpc_cache_unhash() ALSA: hda - Add docking station support for Lenovo Thinkpad T420s bpf, btf: Always output invariant hit in pahole DWARF to BTF transform driver core: platform: fix u32 greater or equal to zero comparison s390/ftrace: generate traced function stack frame s390: adjust -mpacked-stack support check for clang 10 x86/decoder: Add TEST opcode to Group3-2 objtool: Fix ARCH=x86_64 build error kbuild: use -S instead of -E for precise cc-option test in Kconfig spi: spi-fsl-qspi: Ensure width is respected in spi-mem operations ALSA: hda/hdmi - add retry logic to parse_intel_hdmi() irqchip/mbigen: Set driver .suppress_bind_attrs to avoid remove problems regulator: core: Fix exported symbols to the exported GPL version remoteproc: Initialize rproc_class before use module: avoid setting info->name early in case we can fall back to info->mod->name btrfs: device stats, log when stats are zeroed btrfs: safely advance counter when looking up bio csums btrfs: fix possible NULL-pointer dereference in integrity checks pwm: Remove set but not set variable 'pwm' ide: serverworks: potential overflow in svwks_set_pio_mode() cmd64x: potential buffer overflow in cmd64x_program_timings() pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd f2fs: fix memleak of kobject regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage ASoC: SOF: Intel: hda: Fix SKL dai count debugobjects: Fix various data races watchdog/softlockup: Enforce that timestamp is valid on boot perf/x86/amd: Constrain Large Increment per Cycle events sched/topology: Assert non-NUMA topology masks don't (partially) overlap sched/core: Fix size of rq::uclamp initialization arm64: dts: ti: k3-j721e-main: Add missing power-domains for smmu KVM: PPC: Remove set but not used variable 'ra', 'rs', 'rt' EDAC/sifive: Fix return value check in ecc_register() drm/amd/display: fixup DML dependencies arm64: fix alternatives with LLVM's integrated assembler arm64: lse: fix LSE atomics with LLVM's integrated assembler RDMA/mlx5: Don't fake udata for kernel path ALSA: usb-audio: add implicit fb quirk for MOTU M Series crypto: essiv - fix AEAD capitalization and preposition use in help text scsi: iscsi: Don't destroy session if there are outstanding connections scsi: ufs-mediatek: add apply_dev_quirks variant operation scsi: ufs: pass device information to apply_dev_quirks f2fs: free sysfs kobject f2fs: set I_LINKABLE early to avoid wrong access by vfs ALSA: usb-audio: unlock on error in probe iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE kbuild: remove *.tmp file when filechk fails usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue perf/imx_ddr: Fix cpu hotplug state cleanup drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add gpiolib: Set lockdep class for hierarchical irq domains dm thin: don't allow changing data device during thin-pool reload drm/nouveau/fault/gv100-: fix memory leak on module unload drm/nouveau/drm/ttm: Remove set but not used variable 'mem' drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw drm/nouveau/secboot/gm20b: initialize pointer in gm20b_secboot_new() vme: bridges: reduce stack usage bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare driver core: Print device when resources present in really_probe() driver core: platform: Prevent resouce overflow from causing infinite loops visorbus: fix uninitialized variable access misc: xilinx_sdfec: fix xsdfec_poll()'s return type tty: synclink_gt: Adjust indentation in several functions tty: synclinkmp: Adjust indentation in several functions raid6/test: fix a compilation warning ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m ALSA: usb-audio: Add boot quirk for MOTU M Series ARM: dts: rockchip: add reg property to brcmf sub node for rk3188-bqedison2qc arm64: dts: rockchip: add reg property to brcmf sub-nodes arm64: dts: rockchip: fix dwmmc clock name for px30 clocksource: davinci: only enable clockevents once tim34 is initialized wan: ixp4xx_hss: fix compile-testing on 64-bit x86/nmi: Remove irq_work from the long duration NMI handler bnxt: Detach page from page pool before sending up the stack Input: edt-ft5x06 - work around first register access error rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls efi/x86: Don't panic or BUG() on non-critical error conditions soc/tegra: fuse: Correct straps' address for older Tegra124 device trees IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats IB/hfi1: Add software counter for ctxt0 seq drop staging: rtl8188: avoid excessive stack usage drm/mediatek: Add gamma property according to hardware capability udf: Fix free space reporting for metadata and virtual partitions usbip: Fix unsafe unaligned pointer usage ARM: dts: stm32: Add power-supply for DSI panel on stm32f469-disco usb: dwc3: use proper initializers for property entries drm: remove the newline for CRC source name. RDMA/hns: Avoid printing address of mtt page mlx5: work around high stack usage with gcc drm/amdkfd: Fix permissions of hang_hws iommu/vt-d: Avoid sending invalid page response iommu/vt-d: Match CPU and IOMMU paging mode ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one. vfio/spapr/nvlink2: Skip unpinning pages on error exit tools lib api fs: Fix gcc9 stringop-truncation compilation error net: phy: fixed_phy: fix use-after-free when checking link GPIO ALSA: sh: Fix compile warning wrt const ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too clk: uniphier: Add SCSSI clock gate for each channel clk: Use parent node pointer during registration if necessary ALSA: sh: Fix unused variable warnings clk: sunxi-ng: add mux and pll notifiers for A64 CPU clock RDMA/rxe: Fix error type of mmap_offset fbdev: fix numbering of fbcon options ASoC: soc-topology: fix endianness issues reset: uniphier: Add SCSSI reset control for each channel pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs drm/fbdev: Fallback to non tiled mode if all tiles not present PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency PM / devfreq: exynos-ppmu: Fix excessive stack usage x86/vdso: Provide missing include file crypto: chtls - Fixed memory leak net: phy: realtek: add logging for the RGMII TX delay configuration bpf: Print error message for bpftool cgroup show dmaengine: imx-sdma: Fix memory leak dmaengine: Store module owner in dma_device struct clk: actually call the clock init before any other callback of the clock iommu/iova: Silence warnings under memory pressure iommu/amd: Only support x2APIC with IVHD type 11h/40h iommu/amd: Check feature support bit before accessing MSI capability registers arm64: dts: qcom: db845c: Enable ath10k 8bit host-cap quirk scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration selinux: ensure we cleanup the internal AVC counters on error in avc_update() ARM: dts: r8a7779: Add device node for ARM global timer clk: renesas: rcar-gen3: Allow changing the RPC[D2] clocks drm/mediatek: handle events when enabling/disabling crtc crypto: inside-secure - add unspecified HAS_IOMEM dependency scsi: aic7xxx: Adjust indentation in ahc_find_syncrate scsi: ufs: Complete pending requests in host reset and restore path nfsd: Clone should commit src file metadata too ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 clk: qcom: smd: Add missing bimc clock drm/amdgpu: fix KIQ ring test fail in TDR of SRIOV orinoco: avoid assertion in case of NULL pointer rtlwifi: rtl_pci: Fix -Wcast-function-type iwlegacy: Fix -Wcast-function-type ipw2x00: Fix -Wcast-function-type b43legacy: Fix -Wcast-function-type PCI: Add DMA alias quirk for PLX PEX NTB PCI: Add nr_devfns parameter to pci_add_dma_alias() ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status netfilter: nft_tunnel: add the missing ERSPAN_VERSION nla_policy fore200e: Fix incorrect checks of NULL pointer dereference r8169: check that Realtek PHY driver module is loaded samples/bpf: Set -fno-stack-protector when building BPF programs reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros selftests/net: make so_txtime more robust to timer variance gpu/drm: ingenic: Avoid null pointer deference in plane atomic update Revert "nfp: abm: fix memory leak in nfp_abm_u32_knode_replace" PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers PCI: Add generic quirk for increasing D3hot delay media: cx23885: Add support for AVerMedia CE310B PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in bus: ti-sysc: Implement quirk handling for CLKDM_NOAUTO ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed ARM: dts: imx6: rdu2: Disable WP for USDHC2 and USDHC3 ARM: exynos_defconfig: Bring back explicitly wanted options clk: imx: Add correct failure handling for clk based helpers padata: validate cpumask without removed CPU during offline arm64: dts: qcom: msm8996: Disable USB2 PHY suspend by core selinux: ensure we cleanup the internal AVC counters on error in avc_insert() opp: Free static OPPs on errors while adding them arm: dts: allwinner: H3: Add PMU node arm64: dts: allwinner: H5: Add PMU node arm64: dts: allwinner: H6: Add PMU mode NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu(). net/wan/fsl_ucc_hdlc: reject muram offsets above 64K regulator: rk808: Lower log level on optional GPIOs being not available ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682 ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's modules: lockdep: Suppress suspicious RCU usage warning arm64: dts: rockchip: Fix NanoPC-T4 cooling maps drm/panel: simple: Add Logic PD Type 28 display support drm/amdgpu: Ensure ret is always initialized when using SOC15_WAIT_ON_RREG ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table bpf, sockhash: Synchronize_rcu before free'ing map drm/amdkfd: Fix a bug in SDMA RLC queue counting under HWS mode clk: qcom: rcg2: Don't crash if our parent can't be found; return an error clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq() kconfig: fix broken dependency in randconfig-generated .config block, bfq: do not plug I/O for bfq_queues with no proc refs drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store Btrfs: keep pages dirty when using btrfs_writepage_fixup_worker KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups nbd: add a flush_workqueue in nbd_start_device tracing: Simplify assignment parsing for hist triggers drm/amd/display: Retrain dongles when SINK_COUNT becomes non-zero rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed selftests: settings: tests can be in subsubdirs brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362 rtw88: fix rate mask for 1SS chip ath10k: Correct the DMA direction for management tx buffers ext4, jbd2: ensure panic when aborting with zero errno ARM: 8952/1: Disable kmemleak on XIP kernels tracing: Fix very unlikely race of registering two stat tracers tracing: Fix tracing_stat return values in error handling paths powerpc/iov: Move VF pdev fixup into pcibios_fixup_iov() s390/pci: Fix possible deadlock in recover_store() wan/hdlc_x25: fix skb handling dmaengine: fsl-qdma: fix duplicated argument to && udf: Allow writing to 'Rewritable' partitions pwm: omap-dmtimer: Simplify error handling x86/sysfb: Fix check for bad VRAM size clk: ti: dra7: fix parent for gmac_clkctrl ext4: fix deadlock allocating bio_post_read_ctx from mempool jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal kselftest: Minimise dependency of get_size on C library interfaces drm/amd/display: Clear state after exiting fixed active VRR state clocksource/drivers/bcm2835_timer: Fix memory leak of timer usb: dwc2: Fix IN FIFO allocation usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe() drm/nouveau/nouveau: fix incorrect sizeof on args.src an args.dst spi: fsl-lpspi: fix only one cs-gpio working drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol() raid6/test: fix a compilation error net: ethernet: ixp4xx: Standard module init sparc: Add .exit.data section. MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init() efi/x86: Map the entire EFI vendor string before copying it pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins IB/core: Let IB core distribute cache update events kernel/module: Fix memleak in module_add_modinfo_attrs() media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run() char/random: silence a lockdep splat with printk() x86/fpu: Deactivate FPU state after failure during state load iommu/vt-d: Fix off-by-one in PASID allocation gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap() clk: meson: meson8b: make the CCF use the glitch-free mali mux powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number clk: at91: sam9x60: fix programmable clock prescaler media: sun4i-csi: Fix [HV]sync polarity handling media: sun4i-csi: Fix data sampling polarity handling media: sun4i-csi: Deal with DRAM offset media: i2c: mt9v032: fix enum mbus codes and frame sizes media: ov5640: Fix check for PLL1 exceeding max allowed rate pxa168fb: Fix the function used to release some memory in an error handling path drm/msm/adreno: fix zap vs no-zap handling drm/mipi_dbi: Fix off-by-one bugs in mipi_dbi_blank() printk: fix exclusive_console replaying pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs gianfar: Fix TX timestamping with a stacked DSA driver ALSA: ctl: allow TLV read operation for callback type of element in locked case ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT leds: pca963x: Fix open-drain initialization drm/amd/display: Map ODM memory correctly when doing ODM combine PCI: Fix pci_add_dma_alias() bitmask size brcmfmac: Fix use after free in brcmf_sdio_readframes() brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev() cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order clk: meson: pll: Fix by 0 division in __pll_params_to_rate() media: meson: add missing allocation failure check on new_buf f2fs: call f2fs_balance_fs outside of locked page f2fs: preallocate DIO blocks when forcing buffered_io rcu: Fix data-race due to atomic_t copy-by-value rcu: Fix missed wakeup of exp_wq waiters rcu/nocb: Fix dump_tree hierarchy print always active drm/qxl: Complete exception handling in qxl_device_init() wil6210: fix break that is never reached because of zero'ing of a retry counter ath10k: Fix qmi init error handling drm/gma500: Fixup fbdev stolen size usage evaluation net/sched: flower: add missing validation of TCA_FLOWER_FLAGS net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS net: dsa: tag_qca: Make sure there is headroom for tag net/smc: fix leak of kernel memory to user space enic: prevent waking up stopped tx queues over watchdog reset core: Don't skip generic XDP program execution for cloned SKBs ANDROID: ufs, block: fix crypto power management and move into block layer ANDROID: rtc: class: support hctosys from modular RTC drivers ANDROID: update the abi after clk changes ANDROID: update abi for f2fs/fscrypt merge ANDROID: Kconfig.gki: Remove most of the built in qcom clks FROMLIST: f2fs: Handle casefolding with Encryption FROMLIST: fscrypt: Have filesystems handle their d_ops FROMLIST: ext4: Use generic casefolding support FROMLIST: f2fs: Use generic casefolding support FROMLIST: Add standard casefolding support FROMLIST: unicode: Add utf8_casefold_hash ANDROID: gki: Set CONFIG_SERIAL_SAMSUNG for early con. UPSTREAM: tty: serial: samsung_tty: remove SERIAL_SAMSUNG_DEBUG UPSTREAM: tty: serial: samsung_tty: build it for any platform UPSTREAM: tty: serial: samsung_tty: do not abuse the struct uart_port unused fields UPSTREAM: tty: serial: samsung_tty: fix blank line checkpatch warning UPSTREAM: tty: serial: samsung_tty: fix up minor comment formatting UPSTREAM: tty: serial: samsung_tty: use 'unsigned int' not 'unsigned' UPSTREAM: tty: serial: samsung_tty: use standard debugging macros UPSTREAM: tty: serial: samsung_tty: drop unneded dbg() calls UPSTREAM: tty: serial: samsung_tty: delete samsung.h UPSTREAM: tty: serial: samsung.h: remove reset_port callback from struct s3c24xx_uart_info UPSTREAM: tty: serial: samsung.h: fix up minor comment issues UPSTREAM: tty: serial: samsung_tty: fix build warning UPSTREAM: tty: serial: samsung: allow driver to be built by anyone UPSTREAM: tty: serial: samsung: remove variable 'ufstat' set but not used UPSTREAM: {tty: serial, nand: onenand}: samsung: rename to fix build warning UPSTREAM: random: ignore GRND_RANDOM in getentropy(2) UPSTREAM: random: add GRND_INSECURE to return best-effort non-cryptographic bytes UPSTREAM: linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check UPSTREAM: linux/random.h: Use false with bool UPSTREAM: linux/random.h: Remove arch_has_random, arch_has_random_seed UPSTREAM: random: remove some dead code of poolinfo UPSTREAM: random: fix typo in add_timer_randomness() UPSTREAM: random: Add and use pr_fmt() UPSTREAM: random: convert to ENTROPY_BITS for better code readability UPSTREAM: random: remove unnecessary unlikely() UPSTREAM: random: remove kernel.random.read_wakeup_threshold UPSTREAM: random: delete code to pull data into pools UPSTREAM: random: remove the blocking pool UPSTREAM: random: make /dev/random be almost like /dev/urandom UPSTREAM: random: Add a urandom_read_nowait() for random APIs that don't warn UPSTREAM: random: Don't wake crng_init_wait when crng_init == 1 UPSTREAM: char/random: silence a lockdep splat with printk() ANDROID: Incremental fs: Support xattrs BACKPORT: sched/fair: Remove wake_cap() UPSTREAM: sched/core: Remove for_each_lower_domain() UPSTREAM: sched/topology: Remove SD_BALANCE_WAKE on asymmetric capacity systems UPSTREAM: sched/fair: Add asymmetric CPU capacity wakeup scan ANDROID: ufs: add quirk to fix abnormal ocs fatal error FROMLIST: ufs: fix a bug on printing PRDT ANDROID: update abi for 5.4.21 ANDROID: clang: update to 10.0.4 fbdev: core: Initialise structure to prevent kernel information leak Linux 5.4.21 mmc: core: Rework wp-gpio handling gpio: add gpiod_toggle_active_low() KVM: x86/mmu: Fix struct guest_walker arrays for 5-level paging ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project() jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer jbd2: move the clearing of b_modified flag to the journal_unmap_buffer() Revert "drm/sun4i: drv: Allow framebuffer modifiers in mode config" NFSv4.1 make cachethis=no for writes perf stat: Don't report a null stalled cycles per insn metric KVM: x86: Mask off reserved bit from #DB exception payload arm64: dts: fast models: Fix FVP PCI interrupt-map property cifs: fix mount option display for sec=krb5i mac80211: fix quiet mode activation in action frames hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions. perf/x86/intel: Fix inaccurate period in context switch for auto-reload spmi: pmic-arb: Set lockdep class for hierarchical irq domains sched/uclamp: Reject negative values in cpu_uclamp_write() s390/time: Fix clk type in get_tod_clock RDMA/core: Fix protection fault in get_pkey_idx_qp_list RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create RDMA/iw_cxgb4: initiate CLOSE when entering TERM RDMA/core: Fix invalid memory access in spec_filter_size IB/umad: Fix kernel crash while unloading ib_umad IB/rdmavt: Reset all QPs when the device is shut down IB/hfi1: Close window for pq and request coliding IB/hfi1: Acquire lock to release TID entries when user file is closed IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info bus: moxtet: fix potential stack buffer overflow drm/panfrost: Make sure the shrinker does not reclaim referenced BOs drm/vgem: Close use-after-free race in vgem_gem_create s390/uv: Fix handling of length extensions s390/pkey: fix missing length of protected key on return perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map KVM: nVMX: Use correct root level for nested EPT shadow page tables EDAC/mc: Fix use-after-free and memleaks during device removal EDAC/sysfs: Remove csrow objects on errors cifs: make sure we do not overflow the max EA buffer size xprtrdma: Fix DMA scatter-gather list mapping imbalance arm64: ssbs: Fix context-switch when SSBS is present on all CPUs gpio: xilinx: Fix bug where the wrong GPIO register is written to ARM: npcm: Bring back GPIOLIB support btrfs: log message when rw remount is attempted with unclean tree-log btrfs: print message when tree-log replay starts btrfs: ref-verify: fix memory leaks Btrfs: fix race between using extent maps and merging them ext4: improve explanation of a mount failure caused by a misconfigured kernel ext4: add cond_resched() to ext4_protect_reserved_inode ext4: fix checksum errors with indexed dirs ext4: fix support for inode sizes > 1024 bytes ext4: don't assume that mmp_nodename/bdevname have NUL ALSA: usb-audio: Add clock validity quirk for Denon MC7000/MCX8000 ALSA: usb-audio: sound: usb: usb true/false for bool return type ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system ACPICA: Introduce acpi_any_gpe_status_set() ACPI: PM: s2idle: Avoid possible race related to the EC GPE ACPI: EC: Fix flushing of pending work ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 ALSA: hda/realtek - Fix silent output on MSI-GL73 ALSA: hda/realtek - Add more codec supported Headset Button ALSA: usb-audio: Fix UAC2/3 effect unit parsing Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list Input: synaptics - enable SMBus on ThinkPad L470 Input: synaptics - switch T470s to RMI4 by default ANDROID: ABI/Whitelist: initial unisoc whitelist ANDROID: Fix ABI representation after enabling CONFIG_NET_NS ANDROID: gki_defconfig: Enable CONFIG_NET_NS ANDROID: gki_defconfig: Enable XDP_SOCKETS ANDROID: gki_defconfig: Enable MAC80211_RC_MINSTREL ANDROID: virtio: virtio_input: pass _DIRECT only if the device advertises _DIRECT Revert "arm64: defconfig: Remove IKHEADERS option" ANDROID: staging: ion: delete unused heap types and IDs ANDROID: gki_defconfig: disable system_contig ion heap. ANDROID: cf build: Use merge_configs ANDROID: net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head ANDROID: gki_defconfig: Disable SDCARD_FS Linux 5.4.20 selinux: fall back to ref-walk if audit is required libertas: make lbs_ibss_join_existing() return error code on rates overflow libertas: don't exit from lbs_ibss_join_existing() with RCU read lock held mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv() mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status() dmaengine: axi-dmac: add a check for devm_regmap_init_mmio clk: meson: g12a: fix missing uart2 in regmap table mfd: max77650: Select REGMAP_IRQ in Kconfig regmap: fix writes to non incrementing registers pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B pinctrl: sh-pfc: r8a77965: Fix DU_DOTCLKIN3 drive/bias control selinux: fix regression introduced by move_mount(2) syscall selinux: revert "stop passing MAY_NOT_BLOCK to the AVC upon follow_link" bcache: avoid unnecessary btree nodes flushing in btree_flush_write() dt-bindings: iio: adc: ad7606: Fix wrong maxItems value media: i2c: adv748x: Fix unsafe macros drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe crypto: caam/qi2 - fix typo in algorithm's driver name crypto: atmel-sha - fix error handling when setting hmac key crypto: artpec6 - return correct error code for failed setkey() crypto: testmgr - don't try to decrypt uninitialized buffers mtd: sharpslpart: Fix unsigned comparison to zero mtd: onenand_base: Adjust indentation in onenand_read_ops_nolock arm64: nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer KVM: arm64: pmu: Fix chained SW_INCR counters KVM: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset KVM: arm: Make inject_abt32() inject an external abort instead KVM: arm: Fix DFSR setting for non-LPAE aarch32 guests KVM: arm/arm64: Fix young bit from mmu notifier arm64: ptrace: nofpsimd: Fail FP/SIMD regset operations arm64: cpufeature: Set the FP/SIMD compat HWCAP bits properly arm64: cpufeature: Fix the type of no FP/SIMD capability sched/uclamp: Fix a bug in propagating uclamp value in new cgroups ARM: 8949/1: mm: mark free_memmap as __init KVM: arm/arm64: vgic-its: Fix restoration of unmapped collections ARM: at91: pm: use of_device_id array to find the proper shdwc node ARM: at91: pm: use SAM9X60 PMC's compatible iommu/arm-smmu-v3: Populate VMID field for CMDQ_OP_TLBI_NH_VA powerpc/pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW powerpc/pseries/vio: Fix iommu_table use-after-free refcount warning powerpc/papr_scm: Fix leaking 'bus_desc.provider_name' in some paths powerpc/ptdump: Only enable PPC_CHECK_WX with STRICT_KERNEL_RWX powerpc/ptdump: Fix W+X verification call in mark_rodata_ro() Revert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests" soc: qcom: rpmhpd: Set 'active_only' for active only power domains tools/power/acpi: fix compilation error ARM: dts: at91: sama5d3: define clock rate range for tcb1 ARM: dts: at91: sama5d3: fix maximum peripheral clock rates ARM: dts: meson8b: use the actual frequency for the GPU's 364MHz OPP ARM: dts: meson8: use the actual frequency for the GPU's 182.1MHz OPP arm64: dts: marvell: clearfog-gt-8k: fix switch cpu port node arm64: dts: renesas: r8a77990: ebisu: Remove clkout-lr-synchronous from sound ARM: dts: am43xx: add support for clkout1 clock ARM: dts: at91: Reenable UART TX pull-ups arm64: dts: uDPU: fix broken ethernet arm64: dts: qcom: msm8998: Fix tcsr syscon size platform/x86: intel_mid_powerbtn: Take a copy of ddata ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node watchdog: qcom: Use platform_get_irq_optional() for bark irq rtc: cmos: Stop using shared IRQ rtc: hym8563: Return -EINVAL if the time is known to be invalid x86/boot: Handle malformed SRAT tables during early ACPI parsing NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals NFSv4: try lease recovery on NFS4ERR_EXPIRED NFSv4: pnfs_roc() must use cred_fscmp() to compare creds NFS: Fix fix of show_nfs_errors NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() NFS: Revalidate the file size on a fatal write error nfs: NFS_SWAP should depend on SWAP bpf, sockmap: Check update requirements after locking bpf: Improve bucket_log calculation logic selftests/bpf: Test freeing sockmap/sockhash with a socket in it bpf, sockhash: Synchronize_rcu before free'ing map bpf, sockmap: Don't sleep while holding RCU lock on tear-down bpftool: Don't crash on missing xlated program instructions iwlwifi: mvm: avoid use after free for pmsr request PCI/AER: Initialize aer_fifo PCI: Don't disable bridge BARs when assigning bus resources PCI: tegra: Fix afi_pex2_ctrl reg offset for Tegra30 PCI/switchtec: Fix vep_vector_number ioread width PCI/switchtec: Use dma_set_mask_and_coherent() ath10k: pci: Only dump ATH10K_MEM_REGION_TYPE_IOREG when safe PCI/IOV: Fix memory leak in pci_iov_add_virtfn() scsi: ufs: Fix ufshcd_probe_hba() reture value in case ufshcd_scsi_add_wlus() fails RDMA/umem: Fix ib_umem_find_best_pgsz() RDMA/cma: Fix unbalanced cm_id reference count during address resolve RDMA/uverbs: Verify MR access flags RDMA/core: Fix locking in ib_uverbs_event_read RDMA/i40iw: fix a potential NULL pointer dereference RDMA/netlink: Do not always generate an ACK for some netlink operations IB/mlx4: Fix leak in id_map_find_del IB/srp: Never use immediate data if it is disabled by a user IB/mlx4: Fix memory leak in add_gid error flow hv_sock: Remove the accept port restriction ASoC: pcm: update FE/BE trigger order based on the command ANDROID: gki_defconfig: Add CONFIG_UNICODE ANDROID: added memory initialization tests to cuttlefish config ANDROID: gki_defconfig: enable CONFIG_RUNTIME_TESTING_MENU fs-verity: use u64_to_user_ptr() fs-verity: use mempool for hash requests fs-verity: implement readahead of Merkle tree pages fs-verity: implement readahead for FS_IOC_ENABLE_VERITY fscrypt: improve format of no-key names ubifs: allow both hash and disk name to be provided in no-key names ubifs: don't trigger assertion on invalid no-key filename fscrypt: clarify what is meant by a per-file key fscrypt: derive dirhash key for casefolded directories fscrypt: don't allow v1 policies with casefolding fscrypt: add "fscrypt_" prefix to fname_encrypt() fscrypt: don't print name of busy file when removing key ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted() fscrypt: document gfp_flags for bounce page allocation fscrypt: optimize fscrypt_zeroout_range() fscrypt: remove redundant bi_status check fscrypt: Allow modular crypto algorithms FROMLIST: rename missed uaccess .fixup section ANDROID: gki_defconfig: enable heap and stack initialization. ANDROID: ABI/Whitelist: update for db845c ANDROID: ABI/Whitelist: update for Cuttlefish ANDROID: update ABI representation and GKI whitelist ANDROID: f2fs: fix missing blk-crypto changes usb: misc: Add USB super speed re-driver support fscrypt: include <linux/ioctl.h> in UAPI header fscrypt: don't check for ENOKEY from fscrypt_get_encryption_info() fscrypt: remove fscrypt_is_direct_key_policy() fscrypt: move fscrypt_valid_enc_modes() to policy.c fscrypt: check for appropriate use of DIRECT_KEY flag earlier fscrypt: split up fscrypt_supported_policy() by policy version fscrypt: introduce fscrypt_needs_contents_encryption() fscrypt: move fscrypt_d_revalidate() to fname.c fscrypt: constify inode parameter to filename encryption functions fscrypt: constify struct fscrypt_hkdf parameter to fscrypt_hkdf_expand() fscrypt: verify that the crypto_skcipher has the correct ivsize fscrypt: use crypto_skcipher_driver_name() fscrypt: support passing a keyring key to FS_IOC_ADD_ENCRYPTION_KEY UPSTREAM: dynamic_debug: allow to work if debugfs is disabled UPSTREAM: serial: sprd: Add polling IO support UPSTREAM: dmaengine: sprd: Add wrap address support for link-list mode UPSTREAM: pinctrl: sprd: Add CM4 sleep mode support UPSTREAM: pinctrl: sprd: Add PIN_CONFIG_BIAS_DISABLE configuration support UPSTREAM: spi: sprd: adi: Set BIT_WDG_NEW bit when rebooting UPSTREAM: nvmem: sprd: Add Spreadtrum SoCs eFuse support UPSTREAM: dt-bindings: nvmem: Add Spreadtrum eFuse controller documentation UPSTREAM: scsi: ufs-mediatek: enable low-power mode for hibern8 state BACKPORT: scsi: ufs: export some functions for vendor usage UPSTREAM: scsi: ufs-mediatek: add dbg_register_dump implementation UPSTREAM: scsi: ufs-mediatek: add apply_dev_quirks variant operation UPSTREAM: scsi: ufs: pass device information to apply_dev_quirks UPSTREAM: scsi: ufs: add device reset history for vendor implementations UPSTREAM: scsi: ufs: fix empty check of error history UPSTREAM: scsi: ufs-mediatek: configure and enable clk-gating UPSTREAM: scsi: ufs-mediatek: configure customized auto-hibern8 timer BACKPORT: scsi: ufs: export ufshcd_auto_hibern8_update for vendor usage UPSTREAM: scsi: ufs-mediatek: introduce reference clock control UPSTREAM: scsi: ufs-mediatek: add device reset implementation UPSTREAM: scsi: soc: mediatek: add header for SiP service interface BACKPORT: scsi: ufs: use ufshcd_vops_dbg_register_dump for vendor specific dumps BACKPORT: scsi: ufs: unify scsi_block_requests usage UPSTREAM: scsi: ufs: disable interrupt during clock-gating UPSTREAM: scsi: ufs: disable irq before disabling clocks UPSTREAM: scsi: ufs-mediatek: enable auto suspend capability ANDROID: update ABI for 5.4.19 ANDROID: fix up dummy-cpufreq.c due to api changes Linux 5.4.19 powerpc/kuap: Fix set direction in allow/prevent_user_access() regulator fix for "regulator: core: Add regulator_is_equal() helper" rxrpc: Fix service call disconnection perf/core: Fix mlock accounting in perf_mmap() clocksource: Prevent double add_timer_on() for watchdog_timer x86/apic/msi: Plug non-maskable MSI affinity race cifs: fail i/o on soft mounts if sessionsetup errors out KVM: Play nice with read-only memslots when querying host page size KVM: Use vcpu-specific gva->hva translation when querying host page size KVM: nVMX: vmread should not set rflags to specify success in case of #PF KVM: x86: fix overlap between SPTE_MMIO_MASK and generation KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM KVM: x86: use CPUID to locate host page table reserved bits KVM: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM drm/dp_mst: Remove VCPI while disabling topology mgr btrfs: free block groups after free'ing fs trees btrfs: use bool argument in free_root_pointers() x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode mfd: bd70528: Fix hour register mask mfd: rn5t618: Mark ADC control register volatile mfd: da9062: Fix watchdog compatible string ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug net/mlx5: Deprecate usage of generic TLS HW capability bit net/mlx5: Fix deadlock in fs_core drop_monitor: Do not cancel uninitialized work item qed: Fix timestamping issue for L2 unicast ptp packets. ipv6/addrconf: fix potential NULL deref in inet6_set_link_af() taprio: Fix dropping packets when using taprio + ETF offloading taprio: Use taprio_reset_tc() to reset Traffic Classes configuration taprio: Add missing policy validation for flags taprio: Fix still allowing changing the flags during runtime taprio: Fix enabling offload with wrong number of traffic classes net: macb: Limit maximum GEM TX length in TSO net: macb: Remove unnecessary alignment check for TSO net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx net/mlx5: IPsec, Fix esp modify function attribute net: systemport: Avoid RBUF stuck in Wake-on-LAN mode net: stmmac: fix a possible endless loop net_sched: fix a resource leak in tcindex_set_parms() net: mvneta: move rx_dropped and rx_errors in per-cpu stats net: dsa: microchip: enable module autoprobe net: dsa: bcm_sf2: Only 7278 supports 2Gb/sec IMP port net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan() dpaa_eth: support all modes with rate adapting PHYs devlink: report 0 after hitting end in region read bonding/alb: properly access headers in bond_alb_xmit() ASoC: sgtl5000: Fix VDDA and VDDIO comparison regulator: core: Add regulator_is_equal() helper ubifs: Fix memory leak from c->sup_node ubi: Fix an error pointer dereference in error handling code ubi: fastmap: Fix inverted logic in seen selfcheck virtio_balloon: Fix memory leaks on errors in virtballoon_probe() virtio-balloon: Fix memory leak when unloading while hinting is in progress nfsd: Return the correct number of bytes written to the file nfsd: fix jiffies/time_t mixup in LRU list nfsd: fix delay timer on 32-bit architectures IB/core: Fix ODP get user pages flow IB/mlx5: Fix outstanding_pi index for GSI qps net: tulip: Adjust indentation in {dmfe, uli526x}_init_module net: smc911x: Adjust indentation in smc911x_phy_configure ppp: Adjust indentation into ppp_async_input NFC: pn544: Adjust indentation in pn544_hci_check_presence drm: msm: mdp4: Adjust indentation in mdp4_dsi_encoder_enable powerpc/44x: Adjust indentation in ibm4xx_denali_fixup_memsize ext2: Adjust indentation in ext2_fill_super phy: qualcomm: Adjust indentation in read_poll_timeout mtd: spi-nor: Split mt25qu512a (n25q512a) entry into two scsi: ufs: Recheck bkops level if bkops is disabled scsi: qla4xxx: Adjust indentation in qla4xxx_mem_free scsi: csiostor: Adjust indentation in csio_device_reset scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type ASoC: meson: axg-fifo: fix fifo threshold setup percpu: Separate decrypted varaibles anytime encryption can be enabled broken ping to ipv6 linklocal addresses on debian buster fix up iter on short count in fuse_direct_io() virtio-pci: check name when counting MSI-X vectors virtio-balloon: initialize all vq callbacks drm/amd/dm/mst: Ignore payload update failures clk: tegra: Mark fuse clock as critical mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush arm64: dts: qcom: qcs404-evb: Set vdd_apc regulator in high power mode mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section ocfs2: fix oops when writing cloned file KVM: s390: do not clobber registers during guest reset/store status KVM: x86: Revert "KVM: X86: Fix fpu state crash in kvm guest" KVM: x86: Ensure guest's FPU state is loaded when accessing for emulation KVM: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load,put}_guest_fpu() KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails KVM: x86: Don't let userspace set host-reserved cr4 bits KVM: VMX: Add non-canonical check on writes to RTIT address MSRs x86/KVM: Clean up host's steal time structure x86/kvm: Cache gfn to pfn translation x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed x86/kvm: Introduce kvm_(un)map_gfn() x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit kvm/svm: PKU not currently supported KVM: PPC: Book3S PR: Free shared page if mmu initialization fails KVM: PPC: Book3S HV: Uninit vCPU if vcore creation fails KVM: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks KVM: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c KVM: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks KVM: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks KVM: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks KVM: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks KVM: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks KVM: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks KVM: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks KVM: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks KVM: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks aio: prevent potential eventfd recursion on poll eventfd: track eventfd_signal() recursion depth bcache: add readahead cache policy options via sysfs interface watchdog: fix UAF in reboot notifier handling in watchdog core code xen/balloon: Support xend-based toolstack take two tools/kvm_stat: Fix kvm_exit filter name media: rc: ensure lirc is initialized before registering input device media: iguanair: fix endpoint sanity check drm/rect: Avoid division by zero drm: atmel-hlcdc: prefer a lower pixel-clock than requested drm: atmel-hlcdc: enable clock before configuring timing engine drm: atmel-hlcdc: use double rate for pixel clock only if supported gfs2: fix O_SYNC write handling gfs2: move setting current->backing_dev_info gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0 sunrpc: expiry_time should be seconds not timeval mwifiex: fix unbalanced locking in mwifiex_process_country_ie() iwlwifi: don't throw error when trying to remove IGTK ARM: tegra: Enable PLLP bypass during Tegra124 LP1 btrfs: Correctly handle empty trees in find_first_clear_extent_bit btrfs: flush write bio if we loop in extent_write_cache_pages Btrfs: fix race between adding and putting tree mod seq elements and nodes btrfs: drop log root for dropped roots btrfs: set trans->drity in btrfs_commit_transaction Btrfs: fix infinite loop during fsync after rename operations Btrfs: make deduplication with range including the last block work Btrfs: fix missing hole after hole punching and fsync when using NO_HOLES ext4: fix race conditions in ->d_compare() and ->d_hash() ext4: fix deadlock allocating crypto bounce page from mempool jbd2_seq_info_next should increase position index nfsd: fix filecache lookup NFS: Directory page cache pages need to be locked when read NFS: Fix memory leaks and corruption in readdir scsi: qla2xxx: Fix unbound NVME response length powerpc/futex: Fix incorrect user access blocking crypto: picoxcell - adjust the position of tasklet_init and fix missed tasklet_kill crypto: api - Fix race condition in crypto_spawn_alg crypto: atmel-aes - Fix counter overflow in CTR mode crypto: pcrypt - Do not clear MAY_SLEEP flag in original request crypto: arm64/ghash-neon - bump priority to 150 crypto: ccp - set max RSA modulus size for v3 platform devices as well crypto: hisilicon - Use the offset fields in sqe to avoid need to split scatterlists crypto: api - fix unexpectedly getting generic implementation selftests: bpf: Ignore FIN packets for reuseport tests selftests: bpf: Use a temporary file in test_sockmap selftests/bpf: Skip perf hw events test if the setup disabled it selftests/bpf: Fix test_attach_probe samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach samples/bpf: Don't try to remove user's homedir on clean tc-testing: fix eBPF tests failure on linux fresh clones libbpf: Fix realloc usage in bpf_core_find_cands bpf, devmap: Pass lockdep expression to RCU lists selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs riscv, bpf: Fix broken BPF tail calls btrfs: Handle another split brain scenario with metadata uuid feature btrfs: fix improper setting of scanned for range cyclic write cache pages crypto: pcrypt - Avoid deadlock by using per-instance padata queues ftrace: Protect ftrace_graph_hash with ftrace_sync ftrace: Add comment to why rcu_dereference_sched() is open coded tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu tracing: Annotate ftrace_graph_hash pointer with __rcu ASoC: SOF: core: release resources on errors in probe_continue ASoC: SOF: Introduce state machine for FW boot scsi: qla2xxx: Fix stuck login session using prli_pend_timer dm: fix potential for q->make_request_fn NULL pointer dm thin metadata: use pool locking at end of dm_pool_metadata_close dm crypt: fix benbi IV constructor crash if used in authenticated mode dm crypt: fix GFP flags passed to skcipher_request_alloc() dm writecache: fix incorrect flush sequence when doing SSD mode commit dm space map common: fix to ensure new block isn't already in use dm zoned: support zone sizes smaller than 128MiB ARM: dma-api: fix max_pfn off-by-one error in __dma_supported() of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc cpufreq: Avoid creating excessively large stack frames PM: core: Fix handling of devices deleted during system-wide resume f2fs: fix race conditions in ->d_compare() and ->d_hash() f2fs: fix dcache lookup of !casefolded directories f2fs: code cleanup for f2fs_statfs_project() f2fs: fix miscounted block limit in f2fs_statfs_project() f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() ovl: fix lseek overflow on 32bit ovl: fix wrong WARN_ON() in ovl_cache_update_ino() power: supply: ltc2941-battery-gauge: fix use-after-free power: supply: axp20x_ac_power: Fix reporting online status cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e scsi: qla2xxx: Fix mtcp dump collection failure scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state erofs: fix out-of-bound read for shifted uncompressed block scripts/find-unused-docs: Fix massive false positives fs: allow deduplication of eof block into the end of the destination file padata: Remove broken queue flushing crypto: ccree - fix PM race condition crypto: ccree - fix FDE descriptor sequence crypto: ccree - fix pm wrongful error reporting crypto: ccree - fix AEAD decrypt auth fail crypto: ccree - fix backlog memory leak crypto: api - Check spawn->alg under lock in crypto_drop_spawn nvmem: core: fix memory abort in cleanup path mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile hv_balloon: Balloon up according to request page number ASoC: SOF: core: free trace on errors mmc: sdhci-of-at91: fix memleak on clk_get failure ubifs: Fix deadlock in concurrent bulk-read and writepage ubifs: Fix FS_IOC_SETFLAGS unexpectedly clearing encrypt flag ubifs: Fix wrong memory allocation ubifs: don't trigger assertion on invalid no-key filename fscrypt: don't print name of busy file when removing key alarmtimer: Unregister wakeup source when module get fails ACPI / battery: Deal better with neither design nor full capacity not being reported ACPI / battery: Use design-cap for capacity calculations if full-cap is not available ACPI / battery: Deal with design or full capacity being reported as -1 ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards mmc: spi: Toggle SPI polarity, do not hardcode it PCI: keystone: Fix error handling when "num-viewport" DT property is not populated PCI: keystone: Fix link training retries initiation PCI: keystone: Fix outbound region mapping PCI: tegra: Fix return value check of pm_runtime_get_sync() tracing: Fix now invalid var_ref_vals assumption in trace action powerpc/32s: Fix CPU wake-up from sleep mode powerpc/32s: Fix bad_kuap_fault() powerpc/pseries: Advance pfn if section is not present in lmb_is_removable() powerpc/xmon: don't access ASDR in VMs powerpc/ptdump: Fix W+X verification powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case s390/mm: fix dynamic pagetable upgrade for hugetlbfs MIPS: boot: fix typo in 'vmlinux.lzma.its' target MIPS: fix indentation of the 'RELOCS' message MIPS: syscalls: fix indentation of the 'SYSNR' message KVM: arm64: Only sign-extend MMIO up to register width KVM: arm/arm64: Correct AArch32 SPSR on exception entry KVM: arm/arm64: Correct CPSR on exception entry KVM: arm64: Correct PSTATE on exception entry arm64: acpi: fix DAIF manipulation with pNMI ALSA: hda: Add JasperLake PCI ID and codec vid ALSA: hda: Add Clevo W65_67SB the power_save blacklist ALSA: hda: Apply aligned MMIO access only conditionally platform/x86: intel_scu_ipc: Fix interrupt support x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR irqdomain: Fix a memory leak in irq_domain_push_irq() lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more() media: v4l2-rect.h: fix v4l2_rect_map_inside() top/left adjustments media: v4l2-core: compat: ignore native command codes media/v4l2-core: set pages dirty upon releasing DMA buffers mm: move_pages: report the number of non-attempted pages mm: thp: don't need care deferred split queue in memcg charge move path mm/memory_hotplug: fix remove_memory() lockdep splat utimes: Clamp the timestamps in notify_change() mmc: sdhci-pci: Make function amd_sdhci_reset static mm/sparse.c: reset section's mem_map when fully deactivated memcg: fix a crash in wb_workfn when a device disappears ALSA: dummy: Fix PCM format loop in proc output ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk ALSA: usb-audio: Fix endianess in descriptor validation usb: gadget: f_ecm: Use atomic_t to track in-flight request usb: gadget: f_ncm: Use atomic_t to track in-flight request usb: gadget: legacy: set max_speed to super-speed usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer objtool: Silence build output usb: typec: tcpci: mask event interrupts when remove driver usb: dwc3: gadget: Delay starting transfer usb: dwc3: gadget: Check END_TRANSFER completion brcmfmac: Fix memory leak in brcmf_usbdev_qinit Bluetooth: btusb: Disable runtime suspend on Realtek devices Bluetooth: btusb: fix memory leak on fw nvmet: Fix controller use after free nvmet: Fix error print message at nvmet_install_queue function rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special() srcu: Apply *_ONCE() to ->srcu_last_gp_end rcu: Avoid data-race in rcu_gp_fqs_check_wake() rcu: Use *_ONCE() to protect lockless ->expmask accesses tracing: Fix sched switch start/stop refcount racy updates tracing/kprobes: Have uname use __get_str() in print_fmt ipc/msg.c: consolidate all xxxctl_down() functions netfilter: ipset: fix suspicious RCU usage in find_set_and_id mfd: dln2: More sanity checking for endpoints media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors bnxt_en: Fix logic that disables Bus Master during firmware reset. netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() MAINTAINERS: correct entries for ISDN/mISDN section ionic: fix rxq comp packet type mask tcp: clear tp->segs_{in|out} in tcp_disconnect() tcp: clear tp->data_segs{in|out} in tcp_disconnect() tcp: clear tp->delivered in tcp_disconnect() tcp: clear tp->total_retrans in tcp_disconnect() rxrpc: Fix NULL pointer deref due to call->conn being cleared on disconnect rxrpc: Fix missing active use pinning of rxrpc_local object rxrpc: Fix insufficient receive notification generation rxrpc: Fix use-after-free in rxrpc_put_local() bnxt_en: Fix TC queue mapping. net: stmmac: Delete txtimer in suspend() net_sched: fix an OOB access in cls_tcindex net: hsr: fix possible NULL deref in hsr_handle_frame() l2tp: Allow duplicate session creation with UDP gtp: use __GFP_NOWARN to avoid memalloc warning cls_rsvp: fix rsvp_policy bnxt_en: Move devlink_register before registering netdev sparc32: fix struct ipc64_perm type definition ANDROID: Revert "ANDROID: gki_defconfig: removed CONFIG_PM_WAKELOCKS" ANDROID: dm: prevent default-key from being enabled without needed hooks UPSTREAM: crypto: x86 - Regularize glue function prototypes ANDROID: gki: x86: Enable PCI_MSI, WATCHDOG, HPET ANDROID: drm: Add support for DP 1.4 Compliance edid corruption test ANDROID: drm: Parse Colorimetry data block from EDID ANDROID: drm: fix HDR static metadata type field numbering ANDROID: Incremental fs: Make files writeable UPSTREAM: mfd: syscon: Add arguments support for syscon reference ANDROID: Incremental fs: Fix crash on failed lookup UPSTREAM: usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer ANDROID: support GKI image that contains an uncompressed Kernel Image. ANDROID: update ABI for 5.4.18 Linux 5.4.18 tracing/uprobe: Fix to make trace_uprobe_filter alignment safe Revert "rsi: fix potential null dereference in rsi_probe()" ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order mm/migrate.c: also overwrite error when it is bigger than zero perf report: Fix no libunwind compiled warning break s390 issue dm thin: fix use-after-free in metadata_pre_commit_callback flow_dissector: Fix to use new variables for port ranges in bpf hook cpuidle: teo: Avoid using "early hits" incorrectly btrfs: do not zero f_bavail if we have available space net: Fix skb->csum update in inet_proto_csum_replace16(). netfilter: nf_tables_offload: fix check the chain offload flag netfilter: conntrack: sctp: use distinct states for new SCTP connections l2t_seq_next should increase position index seq_tab_next() should increase position index net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G net/fsl: treat fsl,erratum-a011043 powerpc/fsl/dts: add fsl,erratum-a011043 qlcnic: Fix CPU soft lockup while collecting firmware dump ARM: dts: am43x-epos-evm: set data pin directions for spi0 and spi1 r8152: disable DelayPhyPwrChg r8152: avoid the MCU to clear the lanwake r8152: disable test IO for RTL8153B r8152: Disable PLA MCU clock speed down r8152: disable U2P3 for RTL8153B r8152: get default setting of WOL before initializing tee: optee: Fix compilation issue with nommu led: max77650: add of_match table ARM: 8955/1: virt: Relax arch timer version check during early boot scsi: fnic: do not queue commands during fwreset Input: max77650-onkey - add of_match table xfrm: interface: do not confirm neighbor when do pmtu update xfrm interface: fix packet tx through bpf_redirect() vti[6]: fix packet tx through bpf_redirect() ARM: dts: am335x-boneblack-common: fix memory size Input: evdev - convert kzalloc()/vzalloc() to kvzalloc() iwlwifi: dbg: force stop the debug monitor HW iwlwifi: Don't ignore the cap field upon mcc update iwlwifi: pcie: allocate smaller dev_cmd for TX headers XArray: Fix xas_pause at ULONG_MAX riscv: delete temporary files perf/x86/intel/uncore: Remove PCIe3 unit for SNR perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family wireless: wext: avoid gcc -O3 warning mac80211: Fix TKIP replay protection immediately after key setup cfg80211: Fix radar event during another phy CAC wireless: fix enabling channel 12 for custom regulatory domain lkdtm/bugs: fix build error in lkdtm_UNSET_SMEP parisc: Use proper printk format for resource_size_t qmi_wwan: Add support for Quectel RM500Q ASoC: sti: fix possible sleep-in-atomic ASoC: hdac_hda: Fix error in driver removal after failed probe ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers platform/x86: intel_pmc_core: update Comet Lake platform driver platform/x86: GPD pocket fan: Allow somewhat lower/higher temperature limits iavf: remove current MAC address filter on VF reset igb: Fix SGMII SFP module discovery for 100FX/LX. ixgbe: Fix calculation of queue with VFs and flow director on interface flap ixgbevf: Remove limit of 10 entries for unicast filter list i40e: Fix virtchnl_queue_select bitmap validation s390/zcrypt: move ap device reset from bus to driver code ASoC: rt5640: Fix NULL dereference on module unload clk: mmp2: Fix the order of timer mux parents mac80211: mesh: restrict airtime metric to peered established plinks clk: sunxi-ng: h6-r: Fix AR100/R_APB2 parent order clk: sunxi-ng: sun8i-r: Fix divider on APB0 clock rseq: Unregister rseq for clone CLONE_VM tools lib traceevent: Fix memory leakage in filter_event soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot ARM: dts: beagle-x15-common: Model 5V0 regulator ARM: dts: am57xx-beagle-x15/am57xx-idk: Remove "gpios" for endpoint dt nodes ARM: dts: sun8i: a83t: Correct USB3503 GPIOs polarity arm64: dts: meson-sm1-sei610: add gpio bluetooth interrupt clk: sunxi-ng: v3s: Fix incorrect number of hw_clks. cgroup: Prevent double killing of css when enabling threaded cgroup Bluetooth: Fix race condition in hci_release_sock() ttyprintk: fix a potential deadlock in interrupt context issue tomoyo: Use atomic_t for statistics counter media: dvb-usb/dvb-usb-urb.c: initialize actlen to 0 media: gspca: zero usb_buf media: vp7045: do not read uninitialized values if usb transfer fails media: af9005: uninitialized variable printked media: digitv: don't continue if remote control state can't be read reiserfs: Fix memory leak of journal device string mm/mempolicy.c: fix out of bounds write in mpol_parse_str() arm64: kbuild: remove compressed images on 'make ARCH=arm64 (dist)clean' tools lib: Fix builds when glibc contains strlcpy() PM / devfreq: Add new name attribute for sysfs perf c2c: Fix return type for histogram sorting comparision functions gfs2: Another gfs2_find_jhead fix e1000e: Revert "e1000e: Make watchdog use delayed work" e1000e: Drop unnecessary __E1000_DOWN bit twiddling x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup x86/resctrl: Fix use-after-free when deleting resource groups x86/resctrl: Fix a deadlock due to inaccurate reference cifs: fix soft mounts hanging in the reconnect code vfs: fix do_last() regression ANDROID: Incremental fs: Remove C++-style comments ANDROID: gki_defconfig: Set CONFIG_ANDROID_BINDERFS=y FROMLIST: selinux: Fix typo in filesystem name UPSTREAM: drm: Add DisplayPort colorspace property creation function UPSTREAM: drm: Rename HDMI colorspace property creation function ANDROID: db845c: Update db845c_gki.fragment to add support for bluetooth modules UPSTREAM: sched/rt: Make RT capacity-aware UPSTREAM: sched/fair: Make EAS wakeup placement consider uclamp restrictions UPSTREAM: sched/fair: Make task_fits_capacity() consider uclamp restrictions UPSTREAM: sched/uclamp: Rename uclamp_util_with() into uclamp_rq_util_with() UPSTREAM: sched/uclamp: Make uclamp util helpers use and return UL values BACKPORT: sched/uclamp: Remove uclamp_util() Revert "ANDROID: sched/fair: EAS: Add uclamp support to find_energy_efficient_cpu()" Linux 5.4.17 power/supply: ingenic-battery: Don't change scale if there's only one Revert "um: Enable CONFIG_CONSTRUCTORS" KVM: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE crypto: pcrypt - Fix user-after-free on module unload crypto: caam - do not reset pointer size from MCFGR register crypto: vmx - reject xts inputs that are too short crypto: af_alg - Use bh_lock_sock in sk_destruct rsi: fix non-atomic allocation in completion handler rsi: fix memory leak on failed URB submission rsi: fix use-after-free on probe errors rsi: fix use-after-free on failed probe and unbind bus: ti-sysc: Fix missing force mstandby quirk handling Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks ALSA: hda/realtek - Move some alc236 pintbls to fallback table usb-storage: Disable UAS on JMicron SATA enclosure bus: ti-sysc: Add module enable quirk for audio AESS mmc: sdhci-pci: Add support for Intel JSL mmc: sdhci-pci: Quirk for AMD SDHC Device 0x7906 ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition ARM: config: aspeed-g5: Enable 8250_DW quirks mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs perf/imx_ddr: Add enhanced AXI ID filter support iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping iommu/amd: Support multiple PCI DMA aliases in device table spi: pxa2xx: Add support for Intel Comet Lake-H bus: ti-sysc: Use swsup quirks also for am335x musb bus: ti-sysc: Handle mstandby quirk and use it for musb media: dvbsky: add support for eyeTV Geniatech T2 lite PCI: Add DMA alias quirk for Intel VCA NTB platform/x86: dell-laptop: disable kbd backlight on Inspiron 10xx staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute' libbpf: Fix BTF-defined map's __type macro handling of arrays drm/amdgpu/SRIOV: add navi12 pci id for SRIOV (v2) ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0 extcon-intel-cht-wc: Don't reset USB data connection at probe HID: steam: Fix input device disappearing atm: eni: fix uninitialized variable warning stmmac: debugfs entry name is not be changed when udev rename device name. drm/amd/display: Reduce HDMI pixel encoding if max clock is exceeded iommu/dma: fix variable 'cookie' set but not used gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP net: wan: sdla: Fix cast from pointer to integer of different size drivers/net/b44: Change to non-atomic bit operations on pwol_mask net: Google gve: Remove dma_wmb() before ringing doorbell spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls can: tcan4x5x: tcan4x5x_parse_config(): reset device before register access usb: musb: jz4740: Silence error if code is -EPROBE_DEFER watchdog: orion: fix platform_get_irq() complaints watchdog: rn5t618_wdt: fix module aliases watchdog: max77620_wdt: fix potential build errors HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID phy: cpcap-usb: Prevent USB line glitches from waking up modem ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime() ASoC: fsl_audmix: add missed pm_runtime_disable phy: qcom-qmp: Increase PHY ready timeout drivers/hid/hid-multitouch.c: fix a possible null pointer access. ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free ASoC: SOF: fix fault at driver unload after failed probe HID: wacom: Recognize new MobileStudio Pro PID HID: intel-ish-hid: ipc: add CMP device id HID: Add quirk for incorrect input length on Lenovo Y720 HID: asus: Ignore Asus vendor-page usage-code 0xff events HID: ite: Add USB id match for Acer SW5-012 keyboard dock HID: Add quirk for Xin-Mo Dual Controller arc: eznps: fix allmodconfig kconfig warning HID: multitouch: Add LG MELF0410 I2C touchscreen support rxrpc: Fix use-after-free in rxrpc_receive_data() net: include struct nhmsg size in nh nlmsg size mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' udp: segment looped gso packets correctly net: socionext: fix xdp_result initialization in netsec_process_rx net: socionext: fix possible user-after-free in netsec_process_rx net_sched: walk through all child classes in tc_bind_tclass() net_sched: fix ops->bind_class() implementations net_sched: ematch: reject invalid TCF_EM_SIMPLE zd1211rw: fix storage endpoint lookup rtl8xxxu: fix interface sanity check brcmfmac: fix interface sanity check ath9k: fix storage endpoint lookup cifs: Fix memory allocation in __smb2_handle_cancelled_cmd() cifs: set correct max-buffer-size for smb2_ioctl_init() CIFS: Fix task struct use-after-free on reconnect crypto: chelsio - fix writing tfm flags to wrong place driver core: Fix test_async_driver_probe if NUMA is disabled iio: st_gyro: Correct data for LSM9DS0 gyro iio: adc: stm32-dfsdm: fix single conversion mei: me: add comet point (lake) H device ids mei: hdcp: bind only with i915 on the same PCH binder: fix log spam for existing debugfs file creation. component: do not dereference opaque pointer in debugfs debugfs: Return -EPERM when locked down serial: imx: fix a race condition in receive path serial: 8250_bcm2835aux: Fix line mismatch on driver unbind staging: vt6656: Fix false Tx excessive retries reporting. staging: vt6656: use NULLFUCTION stack on mac80211 staging: vt6656: correct packet types for CTS protect, mode. staging: wlan-ng: ensure error return is actually returned staging: most: net: fix buffer overflow usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW usb: typec: wcove: fix "op-sink-microwatt" default that was in mW usb: dwc3: turn off VBUS when leaving host mode USB: serial: ir-usb: fix IrLAP framing USB: serial: ir-usb: fix link-speed handling USB: serial: ir-usb: add missing endpoint sanity check usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186 usb: dwc3: pci: add ID for the Intel Comet Lake -V variant rsi_91x_usb: fix interface sanity check orinoco_usb: fix interface sanity check Bluetooth: btusb: fix non-atomic allocation in completion handler ANDROID: scsi: ufs: fix collision between CRYPTO and RPM_AUTOSUSPEND bits ANDROID: gki: Removed cf modules from gki_defconfig ANDROID: Remove default y for VIRTIO_PCI_LEGACY ANDROID: gki_defconfig: enabled INTERCONNECT ANDROID: gki_defconfig: Remove SND_8X0 ANDROID: gki: Fixed some typos in Kconfig.gki ANDROID: gki_defconfig: Enable req modules in GKI ANDROID: modularize BLK_MQ_VIRTIO ANDROID: kallsyms: strip hashes from static functions with ThinLTO and CFI ANDROID: Incremental fs: Remove unneeded compatibility typedef ANDROID: Incremental fs: Enable incrementalfs in GKI ANDROID: Incremental fs: Fix sparse errors ANDROID: Fixing incremental fs style issues ANDROID: Make incfs selftests pass ANDROID: Initial commit of Incremental FS Linux 5.4.16 net/x25: fix nonblocking connect netfilter: nf_tables: autoload modules from the abort path netfilter: nf_tables: add __nft_chain_type_get() netfilter: ipset: use bitmap infrastructure completely media: v4l2-ioctl.c: zero reserved fields for S/TRY_FMT libertas: Fix two buffer overflows at parsing bss descriptor net/sonic: Prevent tx watchdog timeout net/sonic: Fix CAM initialization net/sonic: Fix command register usage net/sonic: Quiesce SONIC before re-initializing descriptor memory net/sonic: Fix receive buffer replenishment net/sonic: Improve receive descriptor status flag check net/sonic: Avoid needless receive descriptor EOL flag updates net/sonic: Fix receive buffer handling net/sonic: Fix interface error stats collection net/sonic: Use MMIO accessors net/sonic: Clear interrupt flags immediately net/sonic: Add mutual exclusion for accessing shared state readdir: be more conservative with directory entry names do_last(): fetch directory ->i_mode and ->i_uid before it's too late net, sk_msg: Don't check if sock is locked when tearing down psock xfrm: support output_mark for offload ESP packets drm/i915/userptr: fix size calculation iwlwifi: mvm: fix potential SKB leak on TXQ TX iwlwifi: mvm: fix SKB leak on invalid queue tracing: xen: Ordered comparison of function pointers scsi: RDMA/isert: Fix a recently introduced regression related to logout hwmon: (nct7802) Fix non-working alarm on voltages hwmon: (nct7802) Fix voltage limits to wrong registers hsr: Fix a compilation error leds: gpio: Fix uninitialized gpio label for fwnode based probe readdir: make user_access_begin() use the real access range iommu/amd: Fix IOMMU perf counter clobbering during init lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() netfilter: nft_osf: add missing check for DREG attribute Input: sun4i-ts - add a check for devm_thermal_zone_of_sensor_register Input: pegasus_notetaker - fix endpoint sanity check Input: aiptek - fix endpoint sanity check Input: gtco - fix endpoint sanity check Input: sur40 - fix interface sanity checks Input: pm8xxx-vib - fix handling of separate enable register net/tls: fix async operation mlxsw: switchx2: Do not modify cloned SKBs during xmit mmc: sdhci_am654: Reset Command and Data line after tuning mmc: sdhci_am654: Remove Inverted Write Protect flag mmc: sdhci: fix minimum clock rate for v3 controller mmc: tegra: fix SDR50 tuning override ARM: 8950/1: ftrace/recordmcount: filter relocation types Revert "Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers" Input: keyspan-remote - fix control-message timeouts iommu/vt-d: Call __dmar_remove_one_dev_info with valid pointer pinctrl: sunrisepoint: Add missing Interrupt Status register offset XArray: Fix xas_find returning too many entries XArray: Fix xa_find_after with multi-index entries XArray: Fix infinite loop with entry at ULONG_MAX iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues Revert "iwlwifi: mvm: fix scan config command size" powerpc/xive: Discard ESB load value when interrupt is invalid powerpc/mm/hash: Fix sharing context ids between kernel & userspace tracing: Fix histogram code when expression has same var as value tracing: Do not set trace clock if tracefs lockdown is in effect tracing/uprobe: Fix double perf_event linking on multiprobe uprobe tracing: trigger: Replace unneeded RCU-list traversals PM: hibernate: fix crashes with init_on_free=1 drm/i915: Align engine->uabi_class/instance with i915_drm.h drm/panfrost: Add the panfrost_gem_mapping concept PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken ceph: hold extra reference to r_parent over life of request hwmon: (core) Do not use device managed functions for memory allocations hwmon: (adt7475) Make volt2reg return same reg as reg2volt input afs: Fix characters allowed into cell names Revert "io_uring: only allow submit from owning task" ipv4: Detect rollover in specific fib table dump net/mlx5e: kTLS, Do not send decrypted-marked SKBs via non-accel path net/mlx5e: kTLS, Remove redundant posts in TX resync flow net/mlx5e: kTLS, Fix corner-case checks in TX resync flow net/mlx5: DR, use non preemptible call to get the current cpu number net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep net/mlx5: DR, Enable counter on non-fwd-dest objects net/mlx5: Update the list of the PCI supported devices net/mlx5: Fix lowest FDB pool size net: Fix packet reordering caused by GRO and listified RX cooperation fou: Fix IPv6 netlink policy mlxsw: spectrum_acl: Fix use-after-free during reload airo: Add missing CAP_NET_ADMIN check in AIROOLDIOCTL/SIOCDEVPRIVATE airo: Fix possible info leak in AIROOLDIOCTL/SIOCDEVPRIVATE tun: add mutex_unlock() call and napi.skb clearing in tun_get_user() tcp: do not leave dangling pointers in tp->highest_sack tcp_bbr: improve arithmetic division in bbr_update_bw() Revert "udp: do rmem bulk free even if the rx sk queue is empty" net: usb: lan78xx: Add .ndo_features_check net-sysfs: Fix reference count leak net_sched: use validated TCA_KIND attribute in tc_new_tfilter() net_sched: fix datalen for ematch net: rtnetlink: validate IFLA_MTU attribute in rtnl_create_link() net, ip_tunnel: fix namespaces move net, ip6_tunnel: fix namespaces move net: ip6_gre: fix moving ip6gre between namespaces net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM net: bcmgenet: Use netif_tx_napi_add() for TX NAPI ipv6: sr: remove SKB_GSO_IPXIP6 on End.D* actions gtp: make sure only SOCK_DGRAM UDP sockets are accepted firestream: fix memory leaks can, slip: Protect tty->disc_data in write_wakeup and close with RCU ANDROID: gki_defconfig: Set IKHEADERS back to =y ANDROID: gki_defconfig: Enable CONFIG_BTT f2fs: fix race conditions in ->d_compare() and ->d_hash() f2fs: fix dcache lookup of !casefolded directories f2fs: Add f2fs stats to sysfs f2fs: delete duplicate information on sysfs nodes f2fs: change to use rwsem for gc_mutex f2fs: update f2fs document regarding to fsync_mode f2fs: add a way to turn off ipu bio cache f2fs: code cleanup for f2fs_statfs_project() f2fs: fix miscounted block limit in f2fs_statfs_project() f2fs: show the CP_PAUSE reason in checkpoint traces f2fs: fix deadlock allocating bio_post_read_ctx from mempool f2fs: remove unneeded check for error allocating bio_post_read_ctx f2fs: convert inline_dir early before starting rename f2fs: fix memleak of kobject f2fs: fix to add swap extent correctly f2fs: run fsck when getting bad inode during GC f2fs: support data compression f2fs: free sysfs kobject f2fs: declare nested quota_sem and remove unnecessary sems f2fs: don't put new_page twice in f2fs_rename f2fs: set I_LINKABLE early to avoid wrong access by vfs f2fs: don't keep META_MAPPING pages used for moving verity file blocks f2fs: introduce private bioset f2fs: cleanup duplicate stats for atomic files f2fs: Check write pointer consistency of non-open zones f2fs: Check write pointer consistency of open zones f2fs: set GFP_NOFS when moving inline dentries f2fs: should avoid recursive filesystem ops f2fs: keep quota data on write_begin failure f2fs: call f2fs_balance_fs outside of locked page f2fs: preallocate DIO blocks when forcing buffered_io FROMGIT: ext4: Add EXT4_IOC_FSGETXATTR/EXT4_IOC_FSSETXATTR to compat_ioctl. ANDROID: gki_defconfig: Set IKHEADERS back to =m ANDROID: gki_defconfig: enable NVDIMM/PMEM options Linux 5.4.15 optee: Fix multi page dynamic shm pool alloc phy/rockchip: inno-hdmi: round clock rate down to closest 1000 Hz gpio: aspeed: avoid return type warning net-sysfs: Call dev_hold always in netdev_queue_add_kobject s390/qeth: fix dangling IO buffers after halt/clear block: fix memleak of bio integrity data platform/chrome: wilco_ec: fix use after free issue xdp: Fix cleanup on map free for devmap_hash map type drm/radeon: fix bad DMA from INTERRUPT_CNTL2 dmaengine: ti: edma: fix missed failure handling afs: Remove set but not used variables 'before', 'after' dma-direct: don't check swiotlb=force in dma_direct_map_resource mt76: mt76u: rely on usb_interface instead of usb_dev sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util() SUNRPC: Fix another issue with MIC buffer space workqueue: Add RCU annotation for pwq list walk tee: optee: fix device enumeration error handling tee: optee: Fix dynamic shm pool allocations mmc: core: fix wl1251 sdio quirks mmc: sdio: fix wl1251 vendor id firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT kselftests: cgroup: Avoid the reuse of fd after it is deallocated i2c: stm32f7: report dma error during probe packet: fix data-race in fanout_flow_is_huge() rtc: bd70528: fix module alias to autoload module selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ net: axienet: Fix error return code in axienet_probe() net: neigh: use long type to store jiffies delta rt2800: remove errornous duplicate condition hv_netvsc: flag software created hash value net: openvswitch: don't unlock mutex when changing the user_features fails scsi: ufs: delete redundant function ufshcd_def_desc_sizes() dpaa_eth: avoid timestamp read on error paths dpaa_eth: perform DMA unmapping before read rcu: Fix uninitialized variable in nocb_gp_wait() libbpf: Don't use kernel-side u32 type in xsk.c firmware: imx: Remove call to devm_of_platform_populate power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading drm/amdgpu/vi: silence an uninitialized variable warning regulator: bd70528: Add MODULE_ALIAS to allow module auto loading pwm: sun4i: Fix incorrect calculation of duty_cycle/period ACPI: platform: Unregister stale platform devices net: netsec: Correct dma sync for XDP_TX frames drm: rcar_lvds: Fix color mismatches on R-Car H2 ES2.0 and later PCI: mobiveil: Fix csr_read()/write() build issue software node: Get reference to parent swnode in get_parent op drm/rockchip: Round up _before_ giving to the clock framework dpaa2-eth: Fix minor bug in ethtool stats reporting hwrng: omap3-rom - Fix missing clock by probing with device tree drm/amdgpu: remove excess function parameter description drm: panel-lvds: Potential Oops in probe error handling drm/panfrost: Add missing check for pfdev->regulator rtw88: fix error handling when setup efuse info rtw88: fix beaconing mode rsvd_page memory violation issue gpiolib: No need to call gpiochip_remove_pin_ranges() twice sched/core: Further clarify sched_class::set_next_task() ipmi: Fix memory leak in __ipmi_bmc_register watchdog: sprd: Fix the incorrect pointer getting from driver data soc: aspeed: Fix snoop_file_poll()'s return type soc: renesas: Add missing check for non-zero product register address soc: qcom: llcc: Name regmaps to avoid collisions soc/tegra: pmc: Fix crashes for hierarchical interrupts leds: tlc591xx: update the maximum brightness perf map: No need to adjust the long name of modules crypto: sun4i-ss - fix big endian issues crypto: amcc - restore CRYPTO_AES dependency nfsd: depend on CRYPTO_MD5 for legacy client tracking s390/pkey: fix memory leak within _copy_apqns_from_user() ice: fix stack leakage mt7601u: fix bbp version check in mt7601u_wait_bbp_ready mt76: mt76u: fix endpoint definition order phy: ti: gmii-sel: fix mac tx internal delay for rgmii-rxid net: phy: broadcom: Fix RGMII delays configuration for BCM54210E phy: lantiq: vrx200-pcie: fix error return code in ltq_vrx200_pcie_phy_power_on() net/mlx5e: Fix free peer_flow when refcount is 0 tipc: fix wrong timeout input for tipc_wait_for_cond() tipc: fix wrong socket reference counter after tipc_sk_timeout() returns tipc: fix potential memory leak in __tipc_sendmsg() tipc: update mon's self addr when node addr generated tipc: reduce sensitive to retransmit failures powerpc/archrandom: fix arch_get_random_seed_int() powerpc/kasan: Fix boot failure with RELOCATABLE && FSL_BOOKE powerpc/pseries: Enable support for ibm,drc-info property powerpc/security: Fix debugfs data leak on 32-bit SUNRPC: Fix backchannel latency metrics SUNRPC: Fix svcauth_gss_proxy_init() mfd: intel-lpss: Add default I2C device properties for Gemini Lake i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop i2c: stm32f7: rework slave_id allocation xfs: Sanity check flags of Q_XQUOTARM call ARM: OMAP2+: Add missing put_device() call in omapdss_init_of() ARM: dts: logicpd-torpedo-37xx-devkit-28: Reference new DRM panel samples/bpf: Fix broken xdp_rxq_info due to map order assumptions samples: bpf: update map definition to new syntax BTF-defined map bpf: Force .BTF section start to zero when dumping from vmlinux libbpf: Make btf__resolve_size logic always check size error condition libbpf: Fix another potential overflow issue in bpf_prog_linfo libbpf: Fix potential overflow issue libbpf: Fix memory leak/double free issue libbpf: Fix compatibility for kernels without need_wakeup drm/i915: Fix pid leak with banned clients ANDROID: update ABI following inline crypto changes ANDROID: gki_defconfig: enable dm-default-key ANDROID: dm: add dm-default-key target for metadata encryption ANDROID: dm: enable may_passthrough_inline_crypto on some targets ANDROID: dm: add support for passing through inline crypto support ANDROID: block: Introduce passthrough keyslot manager ANDROID: ext4, f2fs: enable direct I/O with inline encryption FROMLIST: scsi: ufs: add program_key() variant op ANDROID: block: export symbols needed for modules to use inline crypto ANDROID: block: fix some inline crypto bugs UPSTREAM: mm/page_io.c: annotate refault stalls from swap_readpage FROMLIST: security: selinux: allow per-file labelling for binderfs Revert "ANDROID: security,perf: Allow further restriction of perf_event_open" ANDROID: selinux: modify RTM_GETLINK permission BACKPORT: tracing: Remove unnecessary DEBUG_FS dependency BACKPORT: debugfs: Fix !DEBUG_FS debugfs_create_automount Linux 5.4.14 scsi: lpfc: use hdwq assigned cpu for allocation perf script: Fix --reltime with --time hwmon: (pmbus/ibm-cffps) Fix LED blink behavior hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id clk: imx7ulp: Correct DDR clock mux options clk: imx7ulp: Correct system clock source option #7 clk: sprd: Use IS_ERR() to validate the return value of syscon_regmap_lookup_by_phandle() perf script: Allow --time with --reltime perf probe: Fix wrong address verification rtw88: fix potential read outside array boundary scsi: lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq() scsi: lpfc: Fix hdwq sgl locks and irq handling scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq scsi: core: scsi_trace: Use get_unaligned_be*() scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI scsi: scsi_transport_sas: Fix memory leak when removing devices scsi: hisi_sas: Return directly if init hardware failed scsi: lpfc: fix: Coverity: lpfc_get_scsi_buf_s3(): Null pointer dereferences scsi: target: core: Fix a pr_debug() argument scsi: bnx2i: fix potential use after free scsi: qla4xxx: fix double free bug scsi: hisi_sas: Set the BIST init value before enabling BIST scsi: hisi_sas: Don't create debugfs dump folder twice scsi: esas2r: unlock on error in esas2r_nvram_read_direct() reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr um: virtio_uml: Disallow modular build um: Don't trace irqflags during shutdown mtd: cfi_cmdset_0002: fix delayed error detection on HyperFlash mtd: cfi_cmdset_0002: only check errors when ready in cfi_check_err_status() mtd: devices: fix mchp23k256 read and write Revert "arm64: dts: juno: add dma-ranges property" ARM: dts: Fix sgx sysconfig register for omap4 arm64: dts: juno: Fix UART frequency ARM: dts: dra7: fix cpsw mdio fck clock arm64: dts: allwinner: a64: Re-add PMU node ARM: dts: imx6ul-kontron-n6310-s: Disable the snvs-poweroff driver arm64: dts: qcom: sdm845-cheza: delete zap-shader arm64: dts: imx8mm-evk: Assigned clocks for audio plls arm64: dts: renesas: r8a774a1: Remove audio port node arm64: dts: marvell: Fix CP110 NAND controller node multi-line comment alignment tick/sched: Annotate lockless access to last_jiffies_update cfg80211: check for set_wiphy_params arm64: dts: marvell: Add AP806-dual missing CPU clocks arm64: dts: renesas: r8a77970: Fix PWM3 arm64: dts: meson-gxl-s905x-khadas-vim: fix gpio-keys-polled node arm64: dts: meson: g12: fix audio fifo reg size arm64: dts: meson: axg: fix audio fifo reg size cw1200: Fix a signedness bug in cw1200_load_firmware() arm64: dts: qcom: msm8998: Disable coresight by default irqchip: Place CONFIG_SIFIVE_PLIC into the menu tcp: refine rule to allow EPOLLOUT generation under mem pressure dt-bindings: Add missing 'properties' keyword enclosing 'snps,tso' xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk devlink: Wait longer before warning about unset port type net: stmmac: tc: Do not setup flower filtering if RSS is enabled net: stmmac: selftests: Update status when disabling RSS selftests: mlxsw: qos_mc_aware: Fix mausezahn invocation net: stmmac: selftests: Mark as fail when received VLAN ID != expected net: stmmac: selftests: Make it work in Synopsys AXS101 boards mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters mlxsw: spectrum: Wipe xstats.backlog of down ports mlxsw: spectrum: Do not modify cloned SKBs during xmit sh_eth: check sh_eth_cpu_data::dual_port when dumping registers drm/amdgpu: allow direct upload save restore list for raven2 i40e: prevent memory leak in i40e_setup_macvlans net: dsa: bcm_sf2: Configure IMP port for 2Gb/sec net: sched: act_ctinfo: fix memory leak net: dsa: tag_gswip: fix typo in tagger name net: dsa: sja1105: Don't error out on disabled ports with no phy-mode net: systemport: Fixed queue mapping in internal ring map net: ethernet: ave: Avoid lockdep warning bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal. bnxt_en: Fix ipv6 RFS filter matching logic. bnxt_en: Fix NTUPLE firmware command failures. tcp: fix marked lost packets not being retransmitted r8152: add missing endpoint sanity check ptp: free ptp device pin descriptors properly net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info net: usb: lan78xx: limit size of local TSO packets net/sched: act_ife: initalize ife->metalist earlier net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset net: hns: fix soft lockup when there is not enough memory net: hns3: pad the short frame before sending to the hardware net: dsa: tag_qca: fix doubled Tx statistics net: avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key() hv_netvsc: Fix memory leak when removing rndis device macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() batman-adv: Fix DAT candidate selection on little endian systems bpftool: Fix printing incorrect pointer in btf_dump_ptr net: bpf: Don't leak time wait and request sockets NFC: pn533: fix bulk-message timeout netfilter: nf_tables: fix flowtable list del corruption netfilter: nf_tables: store transaction list locally while requesting module netfilter: nf_tables: remove WARN and add NLA_STRING upper limits netfilter: nft_tunnel: ERSPAN_VERSION must not be null netfilter: nft_tunnel: fix null-attribute check netfilter: nat: fix ICMP header corruption on ICMP errors netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct netfilter: fix a use-after-free in mtype_destroy() i2c: iop3xx: Fix memory leak in probe error path bpf/sockmap: Read psock ingress_msg before sk_receive_queue cfg80211: fix page refcount issue in A-MSDU decap cfg80211: fix memory leak in cfg80211_cqm_rssi_update cfg80211: fix memory leak in nl80211_probe_mesh_link cfg80211: fix deadlocks in autodisconnect work i2c: tegra: Properly disable runtime PM on driver's probe error i2c: tegra: Fix suspending in active runtime PM state bpf: Sockmap/tls, fix pop data with SK_DROP return code bpf: Sockmap/tls, skmsg can have wrapped skmsg that needs extra chaining bpf: Sockmap/tls, tls_sw can create a plaintext buf > encrypt buf bpf: Sockmap/tls, msg_push_data may leave end mark in place bpf: Sockmap, skmsg helper overestimates push, pull, and pop bounds bpf: Sockmap/tls, push write_space updates through ulp updates bpf: Sockmap, ensure sock lock held during tear down bpf: Sockmap/tls, during free we may call tcp_bpf_unhash() in loop bpf: Fix incorrect verifier simulation of ARSH under ALU32 drm/amd/display: Reorder detect_edp_sink_caps before link settings read. block: Fix the type of 'sts' in bsg_queue_rq() net: fix kernel-doc warning in <linux/netdevice.h> tipc: fix retrans failure due to wrong destination tipc: fix potential hanging after b/rcast changing reset: Fix {of,devm}_reset_control_array_get kerneldoc return types net: stmmac: Enable 16KB buffer size net: stmmac: 16KB buffer must be 16 byte aligned ARM: dts: imx7: Fix Toradex Colibri iMX7S 256MB NAND flash support ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL ARM: dts: imx6sll-evk: Remove incorrect power supply assignment ARM: dts: imx6sl-evk: Remove incorrect power supply assignment ARM: dts: imx6sx-sdb: Remove incorrect power supply assignment ARM: dts: imx6qdl-sabresd: Remove incorrect power supply assignment mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio() mm/memory_hotplug: don't free usage map when removing a re-added early section Btrfs: always copy scrub arguments back to user space btrfs: check rw_devices, not num_devices for balance btrfs: fix memory leak in qgroup accounting btrfs: relocation: fix reloc_root lifespan and access btrfs: do not delete mismatched root refs btrfs: fix invalid removal of root ref btrfs: rework arguments of btrfs_unlink_subvol mm, debug_pagealloc: don't rely on static keys too early mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid mm: memcg/slab: fix percpu slab vmstats flushing mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment perf report: Fix incorrectly added dimensions as switch perf data file locking/lockdep: Fix buffer overrun problem in stack_trace[] perf hists: Fix variable name's inconsistency in hists__for_each() macro clk: samsung: exynos5420: Keep top G3D clocks enabled s390/setup: Fix secure ipl message efi/earlycon: Fix write-combine mapping on x86 x86/resctrl: Fix potential memory leak drm/i915: Add missing include file <linux/math64.h> mtd: spi-nor: Fix selection of 4-byte addressing opcodes on Spansion scsi: storvsc: Correctly set number of hardware queues for IDE disk s390/zcrypt: Fix CCA cipher key gen with clear key value function x86/efistub: Disable paging at mixed mode entry perf/x86/intel/uncore: Fix missing marker for snr_uncore_imc_freerunning_events locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWN x86/CPU/AMD: Ensure clearing of SME/SEV features is maintained x86/resctrl: Fix an imbalance in domain_remove_cpu() cpu/SMT: Fix x86 link error without CONFIG_SYSFS usb: core: hub: Improved device recognition on remote wakeup mtd: rawnand: gpmi: Restore nfc timing setup after suspend/resume mtd: rawnand: gpmi: Fix suspend/resume problem ptrace: reintroduce usage of subjective credentials in ptrace_has_cap() scsi: mptfusion: Fix double fetch bug in ioctl scsi: fnic: fix invalid stack access staging: comedi: ni_routes: allow partial routing information staging: comedi: ni_routes: fix null dereference in ni_find_route_source() USB: serial: quatech2: handle unbound ports USB: serial: keyspan: handle unbound ports USB: serial: io_edgeport: add missing active-port sanity check USB: serial: io_edgeport: handle unbound ports on URB completion USB: serial: ch341: handle unbound port at reset_resume USB: serial: suppress driver bind attributes USB: serial: option: add support for Quectel RM500Q in QDL mode USB: serial: opticon: fix control-message timeouts USB: serial: option: Add support for Quectel RM500Q USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx iio: buffer: align the size of scan bytes to size of the largest element iio: chemical: pms7003: fix unmet triggered buffer dependency iio: light: vcnl4000: Fix scale for vcnl4040 iio: imu: st_lsm6dsx: Fix selection of ST_LSM6DS3_ID iio: adc: ad7124: Fix DT channel configuration perf: Correctly handle failed perf_get_aux_event() ARM: davinci: select CONFIG_RESET_CONTROLLER ARM: dts: am571x-idk: Fix gpios property to have the correct gpio number cpuidle: teo: Fix intervals[] array indexing bug io_uring: only allow submit from owning task fuse: fix fuse_send_readpages() in the syncronous read case block: fix an integer overflow in logical block size clk: sunxi-ng: r40: Allow setting parent rate for external clock outputs Fix built-in early-load Intel microcode alignment arm64: dts: agilex/stratix10: fix pmu interrupt numbers arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator ALSA: usb-audio: fix sync-ep altsetting sanity check ALSA: firewire-tascam: fix corruption due to spin lock without restoration in SoftIRQ context ALSA: seq: Fix racy access for queue timer in proc read ALSA: dice: fix fallback from protocol extension into limited functionality ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk ARM: dts: imx6q-dhcom: Fix SGTL5000 VDDIO regulator connection ARM: dts: imx7ulp: fix reg of cpu node ARM: OMAP2+: Fix ti_sysc_find_one_clockdomain to check for to_clk_hw_omap ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1 ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1 ASoC: stm32: dfsdm: fix 16 bits record ASoC: stm32: sai: fix possible circular locking ASoC: msm8916-wcd-digital: Reset RX interpolation path after use arm64: dts: imx8mq-librem5-devkit: use correct interrupt for the magnetometer Revert "gpio: thunderx: Switch to GPIOLIB_IRQCHIP" clk: Don't try to enable critical clocks if prepare failed bus: ti-sysc: Fix iterating over clocks arm64: dts: imx8mm: Change SDMA1 ahb clock for imx8mm arm64: dts: ls1028a: fix endian setting for dcfg ARM: dts: imx6q-dhcom: fix rtc compatible dt-bindings: reset: meson8b: fix duplicate reset IDs soc: amlogic: meson-ee-pwrc: propagate errors from pm_genpd_init() soc: amlogic: meson-ee-pwrc: propagate PD provider registration errors clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs ARM: dts: meson8: fix the size of the PMU registers ANDROID: gki: Make GKI specific modules builtins ANDROID: virtio-net: Skip set_features on non-cvq devices ANDROID: fscrypt: add support for hardware-wrapped keys ANDROID: block: add KSM op to derive software secret from wrapped key ANDROID: block: provide key size as input to inline crypto APIs ANDROID: ufshcd-crypto: export cap find API ANDROID: build config for cuttlefish ramdisk ANDROID: x86: gki_defconfig: enable LTO and CFI ANDROID: x86: map CFI jump tables in pti_clone_entry_text ANDROID: x86, module: Ignore __typeid__ relocations ANDROID: x86, relocs: Ignore __typeid__ relocations ANDROID: x86/alternatives: Use C int3 selftest but disable KASAN ANDROID: x86/extable: Do not mark exception callback as CFI ANDROID: x86, build: allow LTO_CLANG and THINLTO to be selected ANDROID: x86: disable UNWINDER_ORC with LTO_CLANG ANDROID: x86: disable STACK_VALIDATION with LTO_CLANG ANDROID: x86: disable HAVE_ARCH_PREL32_RELOCATIONS with LTO_CLANG ANDROID: x86/vdso: disable LTO only for VDSO FROMLIST: crypto, x86/sha: Eliminate casts on asm implementations UPSTREAM: x86/vmlinux: Actually use _etext for the end of the text segment Linux 5.4.13 ocfs2: call journal flush to mark journal as empty after journal recovery when mount hexagon: work around compiler crash hexagon: parenthesize registers in asm predicates kbuild/deb-pkg: annotate libelf-dev dependency as :native media: intel-ipu3: Align struct ipu3_uapi_awb_fr_config_s to 32 bytes drm/amdgpu: enable gfxoff for raven1 refresh ioat: ioat_alloc_ring() failure handling. s390/qeth: lock the card while changing its hsuid dmaengine: k3dma: Avoid null pointer traversal rxrpc: Fix missing security check on incoming calls rxrpc: Don't take call->user_mutex in rxrpc_new_incoming_call() rxrpc: Unlock new call in rxrpc_new_incoming_call() rather than the caller drm/arm/mali: make malidp_mw_connector_helper_funcs static MIPS: Prevent link failure with kcov instrumentation tomoyo: Suppress RCU warning at list_for_each_entry_rcu(). mips: Fix gettimeofday() in the vdso library mips: cacheinfo: report shared CPU map riscv: export flush_icache_all to modules rseq/selftests: Turn off timeout setting selftests: firmware: Fix it to do root uid check and skip scsi: target/iblock: Fix protection error with blocks greater than 512B scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy() gpio: mpc8xxx: Add platform device to gpiochip->parent rtc: bd70528: Add MODULE ALIAS to autoload module rtc: brcmstb-waketimer: add missed clk_disable_unprepare rtc: msm6242: Fix reading of 10-hour digit NFSD fixing possible null pointer derefering in copy offload f2fs: fix potential overflow sch_cake: Add missing NLA policy entry TCA_CAKE_SPLIT_GSO iwlwifi: mvm: fix support for single antenna diversity rtlwifi: Remove unnecessary NULL check in rtl_regd_init iwlwifi: mvm: consider ieee80211 station max amsdu value spi: lpspi: fix memory leak in fsl_lpspi_probe spi: rspi: Use platform_get_irq_byname_optional() for optional irqs spi: atmel: fix handling of cs_change set on non-last xfer spi: pxa2xx: Set controller->max_transfer_size in dma mode mtd: spi-nor: fix silent truncation in spi_nor_read_raw() mtd: spi-nor: fix silent truncation in spi_nor_read() spi: sprd: Fix the incorrect SPI register ubifs: do_kill_orphans: Fix a memory leak bug ubifs: Fixed missed le64_to_cpu() in journal Revert "ubifs: Fix memory leak bug in alloc_ubifs_info() error path" memory: mtk-smi: Add PM suspend and resume ops iommu/mediatek: Add a new tlb_lock for tlb_flush iommu/mediatek: Correct the flush_iotlb_all callback media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly media: aspeed-video: Fix memory leaks in aspeed_video_probe media: hantro: Do not reorder H264 scaling list media: cedrus: Use correct H264 8x8 scaling list media: coda: fix deadlock between decoder picture run and start command media: exynos4-is: Fix recursive locking in isp_video_release() media: v4l: cadence: Fix how unsued lanes are handled in 'csi2rx_start()' media: hantro: h264: Fix the frame_num wraparound case media: rcar-vin: Fix incorrect return statement in rvin_try_format() media: ov6650: Fix default format not applied on device probe media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support media: ov6650: Fix some format attributes not under control media: ov6650: Fix incorrect use of JPEG colorspace ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC tty: serial: pch_uart: correct usage of dma_unmap_sg tty: serial: imx: use the sg count from dma_map_sg MIPS: SGI-IP27: Fix crash, when CPUs are disabled via nr_cpus parameter MIPS: Loongson: Fix return value of loongson_hwmon_init MIPS: PCI: remember nasid changed by set interrupt affinity powerpc/powernv: Disable native PCIe port management PCI/PTM: Remove spurious "d" from granularity message tools: PCI: Fix fd leakage PCI/PM: Clear PCIe PME Status even for legacy power management PCI: Fix missing bridge dma_ranges resource list cleanup PCI: dwc: Fix find_next_bit() usage PCI: aardvark: Fix PCI_EXP_RTCTL register configuration PCI: aardvark: Use LTSSM state to build link training flag compat_ioctl: handle SIOCOUTQNSD af_unix: add compat_ioctl support gfs2: add compat_ioctl support arm64: dts: apq8096-db820c: Increase load on l21 for SDCARD scsi: sd: enable compat ioctls for sed-opal drm/amdgpu/discovery: reserve discovery data at the top of VRAM drm/amdgpu: cleanup creating BOs at fixed location (v2) Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." PCI: pciehp: Do not disable interrupt twice on suspend pinctrl: lewisburg: Update pin list according to v1.1v6 pinctrl: sh-pfc: Do not use platform_get_irq() to count interrupts pinctrl: sh-pfc: Fix PINMUX_IPSR_PHYS() to set GPSR pinctl: ti: iodelay: fix error checking on pinctrl_count_index_with_args call affs: fix a memory leak in affs_remount rsi: fix potential null dereference in rsi_probe() clk: imx: pll14xx: Fix quick switch of S/K parameter dmaengine: dw: platform: Mark 'hclk' clock optional clk: Fix memory leak in clk_unregister() clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume clk: meson: axg-audio: fix regmap last register mei: fix modalias documentation iio: imu: adis16480: assign bias value only if operation succeeded iio: imu: st_lsm6dsx: fix gyro gain definitions for LSM9DS1 NFSv4.x: Drop the slot if nfs4_delegreturn_prepare waits for layoutreturn NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process() nfsd: v4 support requires CRYPTO_SHA256 nfsd: Fix cld_net->cn_tfm initialization NFSv2: Fix a typo in encode_sattr() crypto: geode-aes - convert to skcipher API and make thread-safe crypto: algif_skcipher - Use chunksize instead of blocksize crypto: virtio - implement missing support for output IVs crypto: arm64/aes-neonbs - add return value of skcipher_walk_done() in __xts_crypt() crypto: hisilicon - select NEED_SG_DMA_LENGTH in qm Kconfig crypto: cavium/nitrox - fix firmware assignment to AE cores scsi: ufs: Give an unique ID to each ufs-bsg dm: add dm-clone to the documentation index xprtrdma: Fix oops in Receive handler after device removal xprtrdma: Fix completion wait during device removal xprtrdma: Fix create_qp crash on device unload Documentation/ABI: Add missed attribute for mlxreg-io sysfs interfaces Documentation/ABI: Fix documentation inconsistency for mlxreg-io sysfs interfaces asm-generic/nds32: don't redefine cacheflush primitives platform/x86: GPD pocket fan: Use default values when wrong modparams are given platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0 platform/mellanox: fix potential deadlock in the tmfifo driver scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI scsi: enclosure: Fix stale device oops with hot replug keys: Fix request_key() cache afs: Fix afs_lookup() to not clobber the version on a new dentry afs: Fix use-after-loss-of-ref libbpf: Fix Makefile' libbpf symbol mismatch diagnostic bpf: Support pre-2.25-binutils objcopy for vmlinux BTF bpf: skmsg, fix potential psock NULL pointer dereference bpf: Make use of probe_user_write in probe write helper uaccess: Add non-pagefault user-space write function RDMA/srpt: Report the SCSI residual to the initiator RDMA/mlx5: Return proper error value rdma: Remove nes ABI header RDMA/hns: Bugfix for qpc/cqc timer configuration RDMA/hns: Fix to support 64K page for srq xprtrdma: Close window between waking RPC senders and posting Receives xprtrdma: Fix MR list handling xprtrdma: Connection becomes unstable after a reconnect xprtrdma: Add unique trace points for posting Local Invalidate WRs RDMA/hns: Release qp resources when failed to destroy qp RDMA/hns: Fix build error again RDMA/siw: Fix port number endianness in a debug message RDMA/counter: Prevent QP counter manual binding in auto mode RDMA/hns: Modify return value of restrack functions RDMA/hns: remove a redundant le16_to_cpu RDMA/hns: Prevent undefined behavior in hns_roce_set_user_sq_size() ASoC: rsnd: fix DALIGN register for SSIU ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy driver ASoC: fsl_esai: Add spin lock to protect reset, stop and start ASoC: simple_card_utils.h: Add missing include ASoC: dt-bindings: mt8183: add missing update netfilter: nft_meta: use 64-bit time arithmetic netfilter: nf_tables_offload: release flow_rule on error from commit path btrfs: simplify inode locking for RWF_NOWAIT hsr: fix slab-out-of-bounds Read in hsr_debugfs_rename() syscalls/x86: Fix function types in COND_SYSCALL syscalls/x86: Use the correct function type for sys_ni_syscall syscalls/x86: Use COMPAT_SYSCALL_DEFINE0 for IA32 (rt_)sigreturn syscalls/x86: Wire up COMPAT_SYSCALL_DEFINE0 perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description afs: Fix missing cell comparison in afs_test_super() reset: brcmstb: Remove resource checks dt-bindings: reset: Fix brcmstb-reset example can: j1939: fix address claim code example ath9k: use iowrite32 over __raw_writel MAINTAINERS: Append missed file to the database scsi: smartpqi: Update attribute name to `driver_version` cifs: Adjust indentation in smb2_open_file s390/qeth: fix initialization on old HW s390/qeth: vnicc Fix init to default s390/qeth: Fix vnicc_is_in_use if rx_bcast not set s390/qeth: fix false reporting of VNIC CHAR config failure s390/qeth: fix qdio teardown after early init error hsr: reset network header when supervision frame is created hsr: rename debugfs file when interface name is changed hsr: add hsr root debugfs directory drm/tegra: Fix ordering of cleanup code PCI: amlogic: Fix probed clock names PM / devfreq: tegra: Add COMMON_CLK dependency gpio: Fix error message on out-of-range GPIO in lookup table scsi: mpt3sas: Fix double free in attach error handling fs: move guard_bio_eod() after bio_set_op_attrs bpf: cgroup: prevent out-of-order release of cgroup bpf iommu: Remove device link to group on failure iommu/vt-d: Unlink device if failed to add to group selftests: loopback.sh: skip this test if the driver does not support pinctrl: meson: Fix wrong shift value when get drive-strength gpio: zynq: Fix for bug in zynq_gpio_restore_context API mtd: onenand: omap2: Pass correct flags for prep_dma_memcpy ASoC: SOF: imx8: Fix dsp_box offset netfilter: nft_flow_offload: fix underflow in flowtable reference counter pinctrl: lochnagar: select GPIOLIB ASoC: stm32: spdifrx: fix input pin state management ASoC: stm32: spdifrx: fix race condition in irq handler ASoC: stm32: spdifrx: fix inconsistent lock state ASoC: soc-core: Set dpcm_playback / dpcm_capture ASoC: SOF: imx8: fix memory allocation failure check on priv->pd_dev i2c: bcm2835: Store pointer to bus clock mtd: rawnand: stm32_fmc2: avoid to lock the CPU bus IB/hfi1: Don't cancel unused work item RDMA/bnxt_re: Fix Send Work Entry state check while polling completions RDMA/bnxt_re: Avoid freeing MR resources if dereg fails phy: mapphone-mdm6600: Fix uninitialized status value regression rtc: mt6397: fix alarm register overwrite HID: hidraw, uhid: Always report EPOLLOUT FROMGIT: drivers/iommu: Initialise module 'owner' field in iommu_device_set_ops() USB: f_accessory: Check dev pointer before decoding ctrl request Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." ANDROID: update kernel ABI for CONFIG_DUMMY ANDROID: update ABI whitelist UPSTREAM: dmaengine: k3dma: Avoid null pointer traversal GKI: enable CONFIG_DUMMY=y ANDROID: update kernel ABI for f2fs/fscrypt/other changes ANDROID: db845c: Add build config ANDROID: db845c: add db845c_gki.fragment FROMLIST: usb: dwc3: gadget: Correct the logic for finding last SG entry FROMLIST: usb: xhci: provide a debugfs hook for erasing rom FROMLIST: usb: renesas-xhci: allow multiple firmware versions FROMLIST: usb: renesas-xhci: Add ROM loader for uPD720201 FROMLIST: usb: renesas-xhci: Add the renesas xhci driver FROMLIST: usb: xhci: export few functions ANDROID: arm64: dts: db845c: Add clocks entry to display to track real clock inputs ANDROID: arm64: dts: db845c: add Low speed expansion i2c and spi nodes ANDROID: arm64: dts: qcom: sdm845-db845c: Bring in LT9611 ANDROID: arm64: dts: qcom: db845c: Enable PCIe controllers ANDROID: arm64: dts: qcom: sdm845: Add second PCIe PHY and controller ANDROID: arm64: dts: qcom: sdm845: Add first PCIe controller and PHY ANDROID: arm64: dts/sdm845: Enable FW implemented safe sequence handler on MTP ANDROID: drm/bridge: Introduce LT9611 DSI to HDMI bridge FROMLIST: drm: msm: Quiet down plane errors in atomic_check FROMLIST: reset: qcom-aoss: Allow CONFIG_RESET_QCOM_AOSS to be a tristate FROMLIST: tty: serial: Kconfig: Allow SERIAL_QCOM_GENI_CONSOLE to be enabled if SERIAL_QCOM_GENI is a module FROMLIST: lib/list_sort: fix function type mismatches UPSTREAM: kcov: fix struct layout for kcov_remote_arg GKI: enable CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y Linux 5.4.12 drm/i915/gen9: Clear residual context state on context switch netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present netfilter: conntrack: dccp, sctp: handle null timeout argument netfilter: arp_tables: init netns pointer in xt_tgchk_param struct phy: cpcap-usb: Fix flakey host idling and enumerating of devices phy: cpcap-usb: Fix error path when no host driver is loaded USB: Fix: Don't skip endpoint descriptors with maxpacket=0 HID: hiddev: fix mess in hiddev_open() ath10k: fix memory leak rtl8xxxu: prevent leaking urb scsi: bfa: release allocated memory in case of error rpmsg: char: release allocated memory mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf mwifiex: fix possible heap overflow in mwifiex_process_country_ie() staging: vt6656: remove bool from vnt_radio_power_on ret um: Implement copy_thread_tls clone3: ensure copy_thread_tls is implemented xtensa: Implement copy_thread_tls riscv: Implement copy_thread_tls parisc: Implement copy_thread_tls arm: Implement copy_thread_tls arm64: Implement copy_thread_tls arm64: Move __ARCH_WANT_SYS_CLONE3 definition to uapi headers tty: always relink the port tty: link tty and port before configuring it as console iommu/vt-d: Fix adding non-PCI devices to Intel IOMMU serdev: Don't claim unsupported ACPI serial devices staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21 staging: vt6656: limit reg output to block size staging: vt6656: correct return of vnt_init_registers. staging: comedi: adv_pci1710: fix AI channels 16-31 for PCI-1713 usb: musb: dma: Correct parameter passed to IRQ handler usb: musb: Disable pullup at init usb: musb: fix idling for suspend after disconnect interrupt USB: serial: option: add ZLP support for 0x1bc7/0x9010 USB-PD tcpm: bad warning+size, PPS adapters usb: ohci-da8xx: ensure error return on variable error is set usb: cdns3: should not use the same dev_id for shared interrupt handler staging: vt6656: Fix non zero logical return of, usb_control_msg staging: vt6656: set usb_set_intfdata on driver fail. pstore/ram: Regularize prz label allocation lifetime gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism gpiolib: acpi: Turn dmi_system_id table into a generic quirk table can: can_dropped_invalid_skb(): ensure an initialized headroom in outgoing CAN sk_buffs can: mscan: mscan_rx_poll(): fix rx path lockup when returning from polling to irq mode can: tcan4x5x: tcan4x5x_can_probe(): get the device out of standby before register access can: gs_usb: gs_usb_probe(): use descriptors of current altsetting can: kvaser_usb: fix interface sanity check IB/hfi1: Adjust flow PSN with the correct resync_psn drm/i915/gt: Mark up virtual engine uabi_instance drm/i915: Add Wa_1407352427:icl,ehl drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ drm/fb-helper: Round up bits_per_pixel if possible drm/sun4i: tcon: Set RGB DCLK min. divider based on hardware model Revert "drm/amdgpu: Set no-retry as default." drm/i915: Add Wa_1408615072 and Wa_1407596294 to icl,ehl Input: input_event - fix struct padding on sparc64 Input: add safety guards to input_set_keycode() HID: hid-input: clear unmapped usages HID: hidraw: Fix returning EPOLLOUT from hidraw_poll HID: uhid: Fix returning EPOLLOUT from uhid_char_poll HID: Fix slab-out-of-bounds read in hid_field_extract tracing: Change offset type to s32 in preempt/irq tracepoints tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined kernel/trace: Fix do not unregister tracepoints when register sched_migrate_task fail rtc: sun6i: Add support for RTC clocks on R40 tpm: Handle negative priv->response_len in tpm_common_read() tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's" tpm: Revert "tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts" tpm: Revert "tpm_tis: reserve chip for duration of tpm_tis_core_init" ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga X1 7th gen ALSA: hda/realtek - Set EAPD control to default for ALC222 ALSA: hda/realtek - Add new codec supported for ALCS1200A ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5 usb: chipidea: host: Disable port power only if previously enabled powercap: intel_rapl: add NULL pointer check to rapl_mmio_cpu_online() i2c: fix bus recovery stop mode timing chardev: Avoid potential use-after-free in 'chrdev_open()' UPSTREAM: vhost, kcov: collect coverage from vhost_worker UPSTREAM: usb, kcov: collect coverage from hub_event ANDROID: update kernel ABI for kcov changes UPSTREAM: kcov: remote coverage support ANDROID: gki_defconfig: Enable blk-crypto fallback BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series ANDROID: tty: serdev: Fix broken serial console input ANDROID: reset: hisi-reboot: adb reboot bootloader Linux 5.4.11 usb: missing parentheses in USE_NEW_SCHEME USB: serial: option: add Telit ME910G1 0x110a composition USB: core: fix check for duplicate endpoints usb: dwc3: gadget: Fix request complete check net/mlx5: DR, Init lists that are used in rule's member net/mlx5e: Fix hairpin RSS table size net/mlx5: DR, No need for atomic refcount for internal SW steering resources net/mlx5e: Always print health reporter message to dmesg net: dsa: mv88e6xxx: force cmode write on 6141/6341 net/mlx5: Move devlink registration before interfaces load macb: Don't unregister clks unconditionally vlan: vlan_changelink() should propagate errors vlan: fix memory leak in vlan_dev_set_egress_priority net: sch_prio: When ungrafting, replace with FIFO mlxsw: spectrum_qdisc: Ignore grafting of invisible FIFO vxlan: fix tos value before xmit tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY sch_cake: avoid possible divide by zero in cake_enqueue() pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM net: usb: lan78xx: fix possible skb leak net: stmmac: Fixed link does not need MDIO Bus net: stmmac: dwmac-sunxi: Allow all RGMII modes net: stmmac: dwmac-sun8i: Allow all RGMII modes net: freescale: fec: Fix ethtool -d runtime PM net: dsa: mv88e6xxx: Preserve priority when setting CPU port. macvlan: do not assume mac_header is set in macvlan_broadcast() gtp: fix bad unlock balance in gtp_encap_enable_socket tracing: Do not create directories if lockdown is in affect selftests: pmtu: fix init mtu value in description hv_netvsc: Fix unwanted rx_table reset llc2: Fix return statement of llc_stat_ev_rx_null_dsap_xid_c (and _test_c) s390/qeth: don't return -ENOTSUPP to userspace s390/qeth: fix promiscuous mode after reset s390/qeth: handle error due to unsupported transport mode sbitmap: only queue kyber's wait callback if not already active parisc: Fix compiler warnings in debug_core.c block: fix memleak when __blk_rq_map_user_iov() is failed s390/dasd: fix memleak in path handling error case s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly block: Fix a lockdep complaint triggered by request queue flushing arm64: cpu_errata: Add Hisilicon TSV110 to spectre-v2 safe list platform/x86: pcengines-apuv2: fix simswap GPIO assignment net/ixgbe: Fix concurrency issues between config flow and XSK net/i40e: Fix concurrency issues between config flow and XSK net/mlx5e: Fix concurrency issues between config flow and XSK xsk: Add rcu_read_lock around the XSK wakeup tpm/tpm_ftpm_tee: add shutdown call back drm/exynos: gsc: add missed component_del s390/purgatory: do not build purgatory with kcov, kasan and friends net: stmmac: Always arm TX Timer at end of transmission start net: stmmac: RX buffer size must be 16 byte aligned net: stmmac: xgmac: Clear previous RX buffer size net: stmmac: Do not accept invalid MTU values net: stmmac: Determine earlier the size of RX buffer net: stmmac: selftests: Needs to check the number of Multicast regs clk: Move clk_core_reparent_orphans() under CONFIG_OF io_uring: don't wait when under-submitting iommu/dma: Relax locking in iommu_dma_prepare_msi() perf/smmuv3: Remove the leftover put_cpu() in error path fs: call fsnotify_sb_delete after evict_inodes fs: avoid softlockups in s_inodes iterators block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT usb: typec: fusb302: Fix an undefined reference to 'extcon_get_state' psi: Fix a division error in psi poll() sched/psi: Fix sampling error and rare div0 crashes with cgroups and high uptime perf/x86/intel: Fix PT PMI handling perf/x86: Fix potential out-of-bounds access scripts: package: mkdebian: add missing rsync dependency kconfig: don't crash on NULL expressions in expr_eq() iommu/iova: Init the struct iova to fix the possible memleak staging: axis-fifo: add unspecified HAS_IOMEM dependency clk: at91: fix possible deadlock spi: nxp-fspi: Ensure width is respected in spi-mem operations regulator: rn5t618: fix module aliases ASoC: wm8962: fix lambda value rfkill: Fix incorrect check to avoid NULL pointer dereference parisc: add missing __init annotation parisc: fix compilation when KEXEC=n and KEXEC_FILE=y net: usb: lan78xx: Fix error message format specifier cxgb4: Fix kernel panic while accessing sge_info bnx2x: Fix logic to get total no. of PFs per engine bnx2x: Do not handle requests from VFs after parity habanalabs: remove variable 'val' set but not used habanalabs: rate limit error msg on waiting for CS bpf: Clear skb->tstamp in bpf_redirect when necessary ocxl: Fix potential memory leak on context creation Btrfs: fix hole extent items with a zero size after range cloning btrfs: handle error in btrfs_cache_block_group powerpc/spinlocks: Include correct header for static key powerpc/vcpu: Assume dedicated processors as non-preempt Btrfs: fix cloning range with a hole when using the NO_HOLES feature btrfs: Fix error messages in qgroup_rescan_init powerpc: Ensure that swiotlb buffer is allocated from low memory pinctrl: pinmux: fix a possible null pointer in pinmux_can_be_used_for_gpio cfg80211: fix double-free after changing network namespace mac80211: fix TID field in monitor mode transmit clk: walk orphan list on clock provider registration bus: ti-sysc: Fix missing reset delay handling pinctrl: aspeed-g6: Fix LPC/eSPI mux configuration ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS arm64: dts: ls1028a: fix reboot node samples: bpf: fix syscall_tp due to unused syscall samples: bpf: Replace symbol compare of trace_event kselftest: Support old perl versions kselftest/runner: Print new line in print of timeout log ARM: dts: am437x-gp/epos-evm: fix panel compatible spi: spi-ti-qspi: Fix a bug when accessing non default CS perf header: Fix false warning when there are no duplicate cache entries perf metricgroup: Fix printing event names of metric group with multiple events bpftool: Don't crash on missing jited insns or ksyms bpf, mips: Limit to 33 tail calls bpf, riscv: Limit to 33 tail calls arm64: dts: ls1028a: fix typo in TMU calibration data ARM: dts: bcm283x: Fix critical trip point ARM: omap2plus_defconfig: Add back DEBUG_FS ARM: dts: am335x-sancloud-bbe: fix phy mode ASoC: SOF: Intel: split cht and byt debug window sizes ASoC: SOF: loader: snd_sof_fw_parse_ext_data log warning on unknown header ASoC: topology: Check return value for soc_tplg_pcm_create() ASoC: topology: Check return value for snd_soc_add_dai_link() reset: Do not register resource data for missing resets spi: spi-cavium-thunderx: Add missing pci_release_regions() ARM: dts: Cygnus: Fix MDIO node address/size cells ARM: exynos_defconfig: Restore debugfs support selftests: safesetid: Fix Makefile to set correct test program selftests: safesetid: Check the return value of setuid/setgid selftests: safesetid: Move link library to LDLIBS selftests/ftrace: Fix multiple kprobe testcase selftests/ftrace: Do not to use absolute debugfs path selftests/ftrace: Fix ftrace test cases to check unsupported selftests/ftrace: Fix to check the existence of set_ftrace_filter ARM: dts: BCM5301X: Fix MDIO node address/size cells netfilter: nf_tables_offload: return EOPNOTSUPP if rule specifies no actions netfilter: nf_tables: skip module reference count bump on object updates netfilter: nf_tables: validate NFT_DATA_VALUE after nft_data_init() netfilter: nf_tables: validate NFT_SET_ELEM_INTERVAL_END netfilter: nft_set_rbtree: bogus lookup/get on consecutive elements in named sets netfilter: uapi: Avoid undefined left-shift in xt_sctp.h ARM: vexpress: Set-up shared OPP table instead of individual for each CPU ARM: dts: imx6ul: imx6ul-14x14-evk.dtsi: Fix SPI NOR probing efi/earlycon: Remap entire framebuffer after page initialization efi/gop: Fix memory leak in __gop_query32/64() efi/gop: Return EFI_SUCCESS if a usable GOP was found efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs selftests: netfilter: use randomized netns names ASoC: Intel: bytcr_rt5640: Update quirk for Teclast X89 x86/efi: Update e820 with reserved EFI boot services data to fix kexec breakage regulator: core: fix regulator_register() error paths to properly release rdev libtraceevent: Copy pkg-config file to output folder when using O= libtraceevent: Fix lib installation with O= mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() netfilter: nf_tables_offload: Check for the NETDEV_UNREGISTER event x86/intel: Disable HPET on Intel Ice Lake platforms netfilter: ctnetlink: netns exit must wait for callbacks locking/spinlock/debug: Fix various data races spi: fsl: Handle the single hardwired chipselect case gpio: Handle counting of Freescale chipselects spi: fsl: Fix GPIO descriptor support ASoC: max98090: fix possible race conditions regulator: fix use after free issue spi: pxa2xx: Add support for Intel Jasper Lake ASoC: rt5682: fix i2c arbitration lost issue bpf: Fix passing modified ctx to ld/abs/ind instruction USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein ANDROID: Kconfig.gki: Add QCOM_SCM to QCOM Hidden configs ANDROID: iommu/arm-smmu: Allow inherting stream mapping from bootloader ANDROID: iommu/arm-smmu: Expose s2cr and smr structs to impl ANDROID: iommu/arm-smmu: Don't blindly use first SMR to calculate mask ANDROID: clk: qcom: Add sync_state = clk_sync_state for db845c clock providers UPSTREAM: net: usbnet: Fix -Wcast-function-type UPSTREAM: PM / QoS: Restore DEV_PM_QOS_MIN/MAX_FREQUENCY UPSTREAM: PM / QoS: Reorder pm_qos/freq_qos/dev_pm_qos structs UPSTREAM: USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein ANDROID: update kernel ABI (perf_event changes) BACKPORT: perf_event: Add support for LSM and SELinux checks ANDROID: Enable HID_STEAM and JOYSTICK_XPAD as y ANDROID: update abi for previous revert Revert "BACKPORT: perf_event: Add support for LSM and SELinux checks" Linux 5.4.10 powerpc/pmem: Fix kernel crash due to wrong range value usage in flush_dcache_range Linux 5.4.9 mm/hugetlb: defer freeing of huge pages if in non-task context hsr: fix a race condition in node list insertion and deletion hsr: fix error handling routine in hsr_dev_finalize() hsr: avoid debugfs warning message when module is remove net: annotate lockless accesses to sk->sk_pacing_shift perf/x86/intel/bts: Fix the use of page_private() efi: Don't attempt to map RCI2 config table if it doesn't exist lib/ubsan: don't serialize UBSAN report xen/blkback: Avoid unmapping unmapped grant pages mm/sparse.c: mark populate_section_memmap as __meminit s390/smp: fix physical to logical CPU map for SMT Btrfs: only associate the locked page with one async_chunk struct btrfs: get rid of unique workqueue helper functions ubifs: ubifs_tnc_start_commit: Fix OOB in layout_in_gaps net: add annotations on hh->hh_len lockless accesses xfs: periodically yield scrub threads to the scheduler drm/i915/execlists: Fix annotation for decoupling virtual request ath9k_htc: Discard undersized packets ath9k_htc: Modify byte order for an error message fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP fs: cifs: Fix atime update check vs mtime cifs: Fix lookup of root ses in DFS referral cache tty: serial: msm_serial: Fix lockup for sysrq and oops phy: renesas: rcar-gen3-usb2: Use platform_get_irq_optional() for optional irq arm64: dts: meson: odroid-c2: Disable usb_otg bus to avoid power failed warning dt-bindings: clock: renesas: rcar-usb2-clock-sel: Fix typo in example media: usb: fix memory leak in af9005_identify_state regulator: ab8500: Remove AB8505 USB regulator media: flexcop-usb: ensure -EIO is returned on error condition arm64: dts: meson-gxm-khadas-vim2: fix uart_A bluetooth node arm64: dts: meson-gxl-s905x-khadas-vim: fix uart_A bluetooth node Bluetooth: Fix memory leak in hci_connect_le_scan Bluetooth: delete a stray unlock Bluetooth: btusb: fix PM leak in error case of setup powerpc/mm: Mark get_slice_psize() & slice_addr_is_low() as notrace regulator: axp20x: Fix AXP22x ELDO2 regulator enable bitmask spi: uniphier: Fix FIFO threshold regulator: bd70528: Remove .set_ramp_delay for bd70528_ldo_ops regulator: axp20x: Fix axp20x_set_ramp_delay watchdog: tqmx86_wdt: Fix build error net, sysctl: Fix compiler warning when only cBPF is present netfilter: nf_queue: enqueue skbs with NULL dst platform/x86: pmc_atom: Add Siemens CONNECT X300 to critclk_systems DMI table xfs: don't check for AG deadlock for realtime files in bunmapi firmware: arm_scmi: Avoid double free in error flow cifs: Fix potential softlockups while refreshing DFS cache of: overlay: add_changeset_property() memory leak iommu/vt-d: Remove incorrect PSI capability check perf callchain: Fix segfault in thread__resolve_callchain_sample() ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 kernel/module.c: wakeup processes in module_wq on module unload net/sched: annotate lockless accesses to qdisc->empty HID: i2c-hid: Reset ALPS touchpads on resume powerpc: Chunk calls to flush_dcache_range in arch_*_memory nfsd4: fix up replay_matches_cache() arm64: dts: qcom: msm8998-clamshell: Remove retention idle state sunrpc: fix crash when cache_head become valid before update PM / devfreq: Check NULL governor in available_governors_show drm/msm: include linux/sched/task.h spi: spi-fsl-dspi: Fix 16-bit word order in 32-bit XSPI mode ftrace: Avoid potential division by zero in function profiler arm64: Revert support for execute-only user mappings exit: panic before exit_mm() on global init exit scsi: lpfc: Fix rpi release when deleting vport ALSA: firewire-motu: Correct a typo in the clock proc string ALSA: pcm: Yet another missing check of non-cached buffer type ALSA: cs4236: fix error return comparison of an unsigned integer gen_initramfs_list.sh: fix 'bad variable name' error dmaengine: virt-dma: Fix access after free in vchan_complete() apparmor: fix aa_xattrs_match() may sleep while holding a RCU lock mm/gup: fix memory leak in __gup_benchmark_ioctl io_uring: use current task creds instead of allocating a new one samples/trace_printk: Wait for IRQ work to finish tracing: Fix endianness bug in histogram trigger tracing: Have the histogram compare functions convert to u64 first tracing: Avoid memory leak in process_system_preds() tracing: Fix lock inversion in trace_event_enable_tgid_record() rseq/selftests: Fix: Namespace gettid() for compatibility with glibc 2.30 riscv: ftrace: correct the condition logic in function graph tracer clocksource: riscv: add notrace to riscv_sched_clock gpiolib: fix up emulated open drain outputs gpio: xtensa: fix driver build libata: Fix retrieving of active qcs ata: ahci_brcm: BCM7425 AHCI requires AHCI_HFLAG_DELAY_ENGINE ata: ahci_brcm: Add missing clock management during recovery ata: ahci_brcm: Fix AHCI resources management ata: libahci_platform: Export again ahci_platform_<en/dis>able_phys() bpf: Fix precision tracking for unbounded scalars compat_ioctl: block: handle BLKGETZONESZ/BLKGETNRZONES compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE compat_ioctl: block: handle Persistent Reservations Btrfs: fix infinite loop during nocow writeback due to race dmaengine: dma-jz4780: Also break descriptor chains on JZ4725B dmaengine: Fix access to uninitialized dma_slave_caps selftests/seccomp: Catch garbage on SECCOMP_IOCTL_NOTIF_RECV samples/seccomp: Zero out members based on seccomp_notif_sizes seccomp: Check that seccomp_notif is zeroed out by the user selftests/seccomp: Zero out seccomp_notif locks: print unsigned ino in /proc/locks gcc-plugins: make it possible to disable CONFIG_GCC_PLUGINS again pstore/ram: Fix error-path memory leak in persistent_ram_new() callers pstore/ram: Write new dumps to start of recycled zones ocfs2: fix the crash due to call ocfs2_get_dlm_debug once less mm/oom: fix pgtables units mismatch in Killed process message mm: move_pages: return valid node id in status if the page is already on the target node memcg: account security cred as well to kmemcg mm/zsmalloc.c: fix the migrated zspage statistics. mm/memory_hotplug: shrink zones when offlining memory media: cec: check 'transmit_in_progress', not 'transmitting' media: cec: avoid decrementing transmit_queue_sz if it is 0 media: cec: CEC 2.0-only bcast messages were ignored media: pulse8-cec: fix lost cec_transmit_attempt_done() call MIPS: Avoid VDSO ABI breakage due to global register variable MIPS: BPF: eBPF JIT: check for MIPS ISA compliance in Kconfig MIPS: BPF: Disable MIPS32 eBPF JIT drm/amdgpu/smu: add metrics table lock for vega20 (v2) drm/amdgpu/smu: add metrics table lock for navi (v2) drm/amdgpu/smu: add metrics table lock for arcturus (v2) drm/amdgpu/smu: add metrics table lock drm/sun4i: hdmi: Remove duplicate cleanup calls ALSA: hda/realtek - Add headset Mic no shutup for ALC283 ALSA: hda - Apply sync-write workaround to old Intel platforms, too ALSA: usb-audio: set the interface format after resume on Dell WD19 ALSA: usb-audio: fix set_format altsetting sanity check ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code mm: drop mmap_sem before calling balance_dirty_pages() in write fault block: add bio_truncate to fix guard_bio_eod netfilter: nft_tproxy: Fix port selector on Big Endian ALSA: hda - Downgrade error message for single-cmd fallback taskstats: fix data-race shmem: pin the file in shmem_fault() if mmap_sem is dropped tcp: fix data-race in tcp_recvmsg() ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen PCI: Fix missing inline for pci_pr3_present() ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a driver PCI: Add a helper to check Power Resource Requirements _PR3 existence ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC ALSA: hda/realtek - Add Bass Speaker and fixed dac for bass speaker PM / hibernate: memory_bm_find_bit(): Tighten node optimisation xen/balloon: fix ballooned page accounting without hotplug enabled xen-blkback: prevent premature module unload IB/mlx5: Fix steering rule of drop and count IB/mlx4: Follow mirror sequence of device add during device removal RDMA/counter: Prevent auto-binding a QP which are not tracked with res s390/cpum_sf: Avoid SBD overflow condition in irq handler s390/cpum_sf: Adjust sampling interval to avoid hitting sample limits md: raid1: check rdev before reference in raid1_sync_request func raid5: need to set STRIPE_HANDLE for batch head afs: Fix creation calls in the dynamic root to fail with EOPNOTSUPP afs: Fix mountpoint parsing net: make socket read/write_iter() honor IOCB_NOWAIT usb: gadget: fix wrong endpoint desc drm/nouveau/kms/nv50-: fix panel scaling drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit staging/wlan-ng: add CRC32 dependency in Kconfig scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func scsi: libsas: stop discovering if oob mode is disconnected scsi: iscsi: qla4xxx: fix double free in probe scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI scsi: qla2xxx: Don't defer relogin unconditonally scsi: qla2xxx: Send Notify ACK after N2N PLOGI scsi: qla2xxx: Configure local loop for N2N target scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length scsi: qla2xxx: Don't call qlt_async_event twice scsi: qla2xxx: Drop superfluous INIT_WORK of del_work scsi: qla2xxx: Use explicit LOGO in target mode scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func rxe: correctly calculate iCRC for unaligned payloads RDMA/cma: add missed unregister_pernet_subsys in init failure afs: Fix SELinux setting security label on /afs afs: Fix afs_find_server lookups for ipv4 peers PM / devfreq: Don't fail devfreq_dev_release if not in list PM / devfreq: Set scaling_max_freq to max on OPP notifier error PM / devfreq: Fix devfreq_notifier_call returning errno iio: adc: max9611: Fix too short conversion time delay iio: st_accel: Fix unused variable warning nvme/pci: Fix read queue count nvme/pci: Fix write and poll queue types drm/amd/display: update dispclk and dppclk vco frequency drm/amd/display: Reset steer fifo before unblanking the stream drm/amd/display: Change the delay time before enabling FEC drm/amd/display: Fixed kernel panic when booting with DP-to-HDMI dongle drm/amd/display: Map DSC resources 1-to-1 if numbers of OPPs and DSCs are equal drm/amdgpu: add cache flush workaround to gfx8 emit_fence drm/amdgpu: add header line for power profile on Arcturus drm/amdgpu: add check before enabling/disabling broadcast mode nvme-fc: fix double-free scenarios on hw queues nvme_fc: add module to ops template to allow module references drm/mcde: dsi: Fix invalid pointer dereference if panel cannot be found docs: fs-verity: mention statx() support f2fs: support STATX_ATTR_VERITY ext4: support STATX_ATTR_VERITY statx: define STATX_ATTR_VERITY docs: fs-verity: document first supported kernel version f2fs: add support for IV_INO_LBLK_64 encryption policies ext4: add support for IV_INO_LBLK_64 encryption policies fscrypt: add support for IV_INO_LBLK_64 policies fscrypt: avoid data race on fscrypt_mode::logged_impl_name fscrypt: zeroize fscrypt_info before freeing fscrypt: remove struct fscrypt_ctx fscrypt: invoke crypto API for ESSIV handling ANDROID: update kernel ABI representation BACKPORT: perf_event: Add support for LSM and SELinux checks ANDROID: Update ABI representation ANDROID: GKI: clk: Don't disable unused clocks with sync state support ANDROID: GKI: clk: Add support for clock providers with sync state ANDROID: GKI: driver core: Add dev_has_sync_state() null_blk: remove unused variable warning on !CONFIG_BLK_DEV_ZONED block: set the zone size in blk_revalidate_disk_zones atomically block: don't handle bio based drivers in blk_revalidate_disk_zones null_blk: cleanup null_gendisk_register null_blk: fix zone size paramter check block: allocate the zone bitmaps lazily block: replace seq_zones_bitmap with conv_zones_bitmap block: simplify blkdev_nr_zones block: remove the empty line at the end of blk-zoned.c scsi: sd_zbc: Improve report zones error printout scsi: sd_zbc: Remove set but not used variable 'buflen' block: rework zone reporting scsi: sd_zbc: Cleanup sd_zbc_alloc_report_buffer() null_blk: clean up report zones null_blk: clean up the block device operations null_blk: return fixed zoned reads > write pointer scsi: sd_zbc: add zone open, close, and finish support block: Remove partition support for zoned block devices block: Simplify report zones execution block: cleanup the !zoned case in blk_revalidate_disk_zones block: Enhance blk_revalidate_disk_zones() block: add zone open, close and finish ioctl support block: add zone open, close and finish operations block: Simplify REQ_OP_ZONE_RESET_ALL handling block: Remove REQ_OP_ZONE_RESET plugging ANDROID: sdcardfs: fix -ENOENT lookup race issue CHROMIUM: cgroups: relax permissions on moving tasks between cgroups UPSTREAM: selinux: sidtab reverse lookup hash table ANDROID: update abi for 5.4.8 release Linux 5.4.8 mm/hugetlbfs: fix for_each_hstate() loop in init_hugetlbfs_fs() mmc: sdhci-of-esdhc: re-implement erratum A-009204 workaround mmc: sdhci-of-esdhc: fix up erratum A-008171 workaround vhost/vsock: accept only packets with the right dst_cid net: ena: fix napi handler misbehavior when the napi budget is zero net: phylink: fix interface passed to mac_link_up ipv6/addrconf: only check invalid header values when NETLINK_F_STRICT_CHK is set bnxt: apply computed clamp value for coalece parameter gtp: do not allow adding duplicate tid and ms_addr pdp context gtp: fix an use-after-free in ipv4_pdp_find() hv_netvsc: Fix tx_table init in rndis_set_subchannel() tcp/dccp: fix possible race __inet_lookup_established() tcp: do not send empty skb from tcp_write_xmit() bonding: fix active-backup transition after link failure gtp: avoid zero size hashtable gtp: fix wrong condition in gtp_genl_dump_pdp() net: marvell: mvpp2: phylink requires the link interrupt net: dsa: sja1105: Reconcile the meaning of TPID and TPID2 for E/T and P/Q/R/S net/dst: do not confirm neighbor for vxlan and geneve pmtu update sit: do not confirm neighbor when do pmtu update vti: do not confirm neighbor when do pmtu update tunnel: do not confirm neighbor when do pmtu update net/dst: add new function skb_dst_update_pmtu_no_confirm gtp: do not confirm neighbor when do pmtu update ip6_gre: do not confirm neighbor when do pmtu update net: add bool confirm_neigh parameter for dst_ops.update_pmtu mlxsw: spectrum: Use dedicated policer for VRRP packets mlxsw: spectrum_router: Skip loopback RIFs during MAC validation bnxt_en: Add missing devlink health reporters for VFs. bnxt_en: Fix the logic that creates the health reporters. bnxt_en: Remove unnecessary NULL checks for fw_health bnxt_en: Fix bp->fw_health allocation and free logic. bnxt_en: Return error if FW returns more data than dump length bnxt_en: Free context memory in the open path if firmware has been reset. bnxt_en: Fix MSIX request logic for RDMA driver. udp: fix integer overflow while computing available space in sk_rcvbuf tcp: Fix highest_sack and highest_sack_seq ptp: fix the race between the release of ptp_clock and cdev net: stmmac: dwmac-meson8b: Fix the RGMII TX delay on Meson8b/8m2 SoCs net_sched: sch_fq: properly set sk->sk_pacing_status net/sched: add delete_empty() to filters and use it in cls_flower net/sched: act_mirred: Pull mac prior redir to non mac_header_xmit device net: phy: aquantia: add suspend / resume ops for AQR105 net/mlxfw: Fix out-of-memory error in mfa2 flash burning net: dsa: bcm_sf2: Fix IP fragment location and behavior cxgb4/cxgb4vf: fix flow control display for auto negotiation xfs: fix mount failure crash on invalid iclog memory access drm: limit to INT_MAX in create_blob ioctl uaccess: disallow > INT_MAX copy sizes tomoyo: Don't use nifty names on sockets. hrtimer: Annotate lockless access to timer->state net: icmp: fix data-race in cmp_global_allow() net: add a READ_ONCE() in skb_peek_tail() inetpeer: fix data-race in inet_putpeer / inet_putpeer netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() net/smc: add fallback check to connect() powerpc: Fix __clear_user() with KUAP enabled 6pack,mkiss: fix possible deadlock netfilter: ebtables: compat: reject all padding in matches/watchers Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" md: make sure desc_nr less than MD_SB_DISKS sctp: fix err handling of stream initialization Revert "powerpc/vcpu: Assume dedicated processors as non-preempt" userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK kernel: sysctl: make drop_caches write-only mm/hugetlbfs: fix error handling when setting up mounts selftests: vm: add fragment CONFIG_TEST_VMALLOC s390: disable preemption when switching to nodat stack with CALL_ON_STACK mailbox: imx: Fix Tx doorbell shutdown path ocfs2: fix passing zero to 'PTR_ERR' warning s390/cpum_sf: Check for SDBT and SDB consistency s390/unwind: filter out unreliable bogus %r14 libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h mailbox: imx: Clear the right interrupts at shutdown s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR perf regs: Make perf_reg_name() return "unknown" instead of NULL perf script: Fix brstackinsn for AUXTRACE perf diff: Use llabs() with 64-bit values cifs: move cifsFileInfo_put logic into a work-queue cdrom: respect device capabilities during opening action of: unittest: fix memory leak in attach_node_and_children io_uring: io_allocate_scq_urings() should return a sane state um: virtio: Keep reading on -EAGAIN cifs: Fix use-after-free bug in cifs_reconnect() powerpc: Don't add -mabi= flags when building with Clang scripts/kallsyms: fix definitely-lost memory leak drm/amdgpu: Call find_vma under mmap_sem apparmor: fix unsigned len comparison with less than zero Drivers: hv: vmbus: Fix crash handler reset of Hyper-V synic tools/power/x86/intel-speed-select: Ignore missing config level gpio: lynxpoint: Setup correct IRQ handlers gpio: mpc8xxx: Don't overwrite default irq_set_type callback platform/x86: intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver platform/x86: intel_pmc_core: Fix the SoC naming inconsistency gpio/mpc8xxx: fix qoriq GPIO reading habanalabs: skip VA block list update in reset flow f2fs: Fix deadlock in f2fs_gc() context during atomic files handling scsi: target: iscsi: Wait for all commands to finish before freeing a session scsi: iscsi: Don't send data to unbound connection scsi: ufs: Fix up auto hibern8 enablement scsi: target: core: Release SPC-2 reservations when closing a session scsi: NCR5380: Add disconnect_mask module parameter scsi: scsi_debug: num_tgts must be >= 0 scsi: ufs: Fix error handing during hibern8 enter scsi: pm80xx: Fix for SATA device discovery powerpc/fixmap: Use __fix_to_virt() instead of fix_to_virt() watchdog: Fix the race between the release of watchdog_core_data and cdev watchdog: prevent deferral of watchdogd wakeup on RT watchdog: imx7ulp: Fix reboot hang HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device HID: Improve Windows Precision Touchpad detection. libnvdimm/btt: fix variable 'rc' set but not used ARM: 8937/1: spectre-v2: remove Brahma-B53 from hardening HID: i2c-hid: fix no irq after reset on raydium 3118 HID: logitech-hidpp: Silence intermittent get_battery_capacity errors dt-bindings: Improve validation build error handling HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse bcache: at least try to shrink 1 node in bch_mca_scan() clk: pxa: fix one of the pxa RTC clocks scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE powerpc/book3s/mm: Update Oops message to print the correct translation in use powerpc/eeh: differentiate duplicate detection message powerpc/security: Fix wrong message when RFI Flush is disable PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info PCI: rpaphp: Annotate and correctly byte swap DRC properties PCI: rpaphp: Don't rely on firmware feature to imply drc-info support powerpc/pseries/cmm: Implement release() function for sysfs device scsi: ufs: fix potential bug which ends in system hang PCI: rpaphp: Fix up pointer to first drc-info entry scsi: zorro_esp: Limit DMA transfers to 65536 bytes (except on Fastlane) scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences Input: ili210x - handle errors from input_mt_init_slots() iomap: fix return value of iomap_dio_bio_actor on 32bit systems i2c: stm32f7: fix & reorder remove & probe error handling iommu/arm-smmu-v3: Don't display an error when IRQ lines are missing fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned long dma-direct: check for overflows on 32 bit DMA addresses irqchip: ingenic: Error out if IRQ domain creation failed irqchip/irq-bcm7038-l1: Enable parent IRQ if necessary clk: clk-gpio: propagate rate change to parent clk: qcom: Allow constant ratio freq tables for rcg clk: qcom: smd: Add missing pnoc clock f2fs: fix to update dir's i_pino during cross_rename scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow scsi: lpfc: Fix unexpected error messages during RSCN handling scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) jbd2: Fix statistics for the number of logged blocks ext4: iomap that extends beyond EOF should be marked dirty ext4: update direct I/O read lock pattern for IOCB_NOWAIT powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning powerpc/security/book3s64: Report L1TF status in sysfs selftests/powerpc: Skip tm-signal-sigreturn-nt if TM not available dtc: Use pkg-config to locate libyaml clocksource/drivers/timer-of: Use unique device name instead of timer clocksource/drivers/asm9260: Add a check for of_clk_get leds: trigger: netdev: fix handling on interface rename leds: an30259a: add a check for devm_regmap_init_i2c leds: lm3692x: Handle failure to probe the regulator dmaengine: fsl-qdma: Handle invalid qdma-queue0 IRQ dma-mapping: fix handling of dma-ranges for reserved memory (again) dma-mapping: Add vmap checks to dma_map_single() dma-debug: add a schedule point in debug_dma_dump_mappings() powerpc/tools: Don't quote $objdump in scripts selftests/powerpc: Fixup clobbers for TM tests Input: st1232 - do not reset the chip too early powerpc/pseries: Don't fail hash page table insert for bolted mapping powerpc/pseries: Mark accumulate_stolen_time() as notrace scsi: hisi_sas: Delete the debugfs folder of hisi_sas when the probe fails scsi: hisi_sas: Replace in_softirq() check in hisi_sas_task_exec() scsi: csiostor: Don't enable IRQs too early scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices scsi: lpfc: Fix hardlockup in lpfc_abort_handler scsi: target: compare full CHAP_A Algorithm strings dmaengine: xilinx_dma: Clear desc_pendingcount in xilinx_dma_reset iommu/tegra-smmu: Fix page tables in > 4 GiB memory iommu: rockchip: Free domain on .domain_free platform/x86: peaq-wmi: switch to using polled mode of input devices tools/power/x86/intel-speed-select: Remove warning for unused result powerpc/papr_scm: Fix an off-by-one check in papr_scm_meta_{get, set} f2fs: fix to update time in lazytime mode Input: atmel_mxt_ts - disable IRQ across suspend scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq gpio: mxc: Only get the second IRQ when there is more than one IRQ scsi: mpt3sas: Reject NVMe Encap cmnds to unsupported HBA scsi: lpfc: Fix locking on mailbox command completion scsi: mpt3sas: Fix clear pending bit in ioctl status scsi: lpfc: Fix discovery failures when target device connectivity bounces scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd() Revert "MIPS: futex: Emit Loongson3 sync workarounds within asm" Revert "MIPS: futex: Restore \n after sync instructions" UPSTREAM: exit: panic before exit_mm() on global init exit f2fs: stop GC when the victim becomes fully valid f2fs: expose main_blkaddr in sysfs f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() f2fs: Fix deadlock in f2fs_gc() context during atomic files handling f2fs: show f2fs instance in printk_ratelimited f2fs: fix potential overflow f2fs: fix to update dir's i_pino during cross_rename f2fs: support aligned pinned file f2fs: avoid kernel panic on corruption test f2fs: fix wrong description in document f2fs: cache global IPU bio f2fs: fix to avoid memory leakage in f2fs_listxattr f2fs: check total_segments from devices in raw_super f2fs: update multi-dev metadata in resize_fs f2fs: mark recovery flag correctly in read_raw_super_block() f2fs: fix to update time in lazytime mode ANDROID: serdev: Fix platform device support Conflicts: Documentation/ABI/stable/sysfs-driver-mlxreg-io Documentation/ABI/testing/sysfs-class-power Makefile abi_gki_aarch64.xml abi_gki_aarch64_ce5de62e20.xml arch/Kconfig arch/arm/Kconfig arch/arm/boot/dts/imx6ul-kontron-n6310-s.dts arch/arm/boot/dts/logicpd-torpedo-37xx-devkit-28.dts arch/arm/include/asm/kvm_mmio.h arch/arm/mach-tegra/sleep-tegra30.S arch/arm64/Kconfig.platforms arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi arch/arm64/boot/dts/marvell/armada-cp110.dtsi arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi arch/arm64/boot/dts/qcom/msm8996.dtsi arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi arch/arm64/boot/dts/qcom/msm8998.dtsi arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi arch/arm64/boot/dts/qcom/sdm845-db845c.dts arch/arm64/boot/dts/qcom/sdm845.dtsi arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts arch/arm64/boot/dts/ti/k3-j721e-main.dtsi arch/arm64/configs/db845c_gki.fragment arch/arm64/configs/gki_defconfig arch/arm64/configs/vendor/genericarmv8-64_defconfig arch/arm64/configs/vendor/lahaina_GKI.config arch/arm64/configs/vendor/lahaina_QGKI.config arch/arm64/configs/vendor/lahaina_debug.config arch/arm64/include/asm/kvm_mmio.h arch/arm64/kernel/cpu_errata.c arch/arm64/mm/mmu.c arch/mips/Kconfig arch/mips/loongson64/loongson-3/platform.c arch/mips/pci/pci-xtalk-bridge.c arch/mips/sgi-ip27/ip27-irq.c arch/powerpc/Kconfig arch/powerpc/include/asm/book3s/32/kup.h arch/powerpc/include/asm/book3s/64/kup-radix.h arch/powerpc/include/asm/kup.h arch/powerpc/include/asm/nohash/32/kup-8xx.h arch/powerpc/kvm/book3s_hv.c arch/powerpc/kvm/book3s_pr.c arch/powerpc/mm/book3s64/hash_utils.c arch/powerpc/mm/mem.c arch/powerpc/platforms/powernv/pci.c arch/powerpc/platforms/pseries/iommu.c arch/riscv/Kconfig arch/riscv/net/bpf_jit_comp.c arch/s390/kernel/mcount.S arch/s390/kvm/kvm-s390.c arch/sparc/Kconfig arch/sparc/include/asm/tlb_64.h arch/x86/configs/gki_defconfig arch/x86/events/amd/core.c arch/x86/kernel/vmlinux.lds.S arch/x86/kvm/emulate.c arch/x86/kvm/irq_comm.c arch/x86/kvm/mmu.c arch/x86/kvm/paging_tmpl.h arch/x86/kvm/vmx/nested.c arch/x86/kvm/vmx/nested.h arch/x86/kvm/vmx/vmx.c arch/x86/kvm/x86.c arch/x86/mm/init_64.c arch/x86/mm/pageattr.c arch/x86/platform/efi/quirks.c arch/xtensa/kernel/process.c block/blk-zoned.c block/compat_ioctl.c block/ioctl.c block/partition-generic.c build.config.gki.aarch64 crypto/algapi.c crypto/pcrypt.c crypto/testmgr.c cuttlefish.fragment drivers/acpi/sleep.c drivers/ata/ahci_brcm.c drivers/char/hw_random/omap3-rom-rng.c drivers/clk/clk-gpio.c drivers/clk/clk.c drivers/clk/imx/clk-imx7ulp.c drivers/clk/imx/clk.h drivers/clk/qcom/clk-alpha-pll.c drivers/clk/qcom/clk-rcg2.c drivers/cpufreq/cpufreq.c drivers/cpufreq/dummy-cpufreq.c drivers/cpuidle/governors/teo.c drivers/crypto/atmel-aes.c drivers/crypto/axis/artpec6_crypto.c drivers/crypto/ccree/cc_pm.c drivers/crypto/chelsio/chcr_algo.c drivers/crypto/geode-aes.c drivers/crypto/hisilicon/Kconfig drivers/crypto/virtio/virtio_crypto_algs.c drivers/devfreq/Kconfig drivers/devfreq/devfreq.c drivers/dma/dmaengine.c drivers/firmware/arm_scmi/bus.c drivers/firmware/efi/libstub/gop.c drivers/firmware/qcom/tz_log.c drivers/firmware/qcom_scm-smc.c drivers/firmware/qcom_scm.c drivers/firmware/qcom_scm.h drivers/gpio/gpio-lynxpoint.c drivers/gpio/gpio-thunderx.c drivers/gpio/gpiolib-of.c drivers/gpio/gpiolib.c drivers/gpio/sgpio-aspeed.c drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c drivers/gpu/drm/amd/amdgpu/amdgpu_object.c drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c drivers/gpu/drm/amd/amdgpu/df_v3_6.c drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c drivers/gpu/drm/amd/display/dc/core/dc_link.c drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c drivers/gpu/drm/amd/powerplay/arcturus_ppt.c drivers/gpu/drm/bridge/Kconfig drivers/gpu/drm/bridge/Makefile drivers/gpu/drm/drm_dp_helper.c drivers/gpu/drm/drm_dp_mst_topology.c drivers/gpu/drm/drm_rect.c drivers/gpu/drm/i915/Kconfig.debug drivers/gpu/drm/i915/gt/intel_engine.h drivers/gpu/drm/i915/gt/intel_engine_types.h drivers/gpu/drm/i915/gt/intel_lrc.c drivers/gpu/drm/i915/gt/intel_ringbuffer.c drivers/gpu/drm/i915/i915_gem_gtt.c drivers/gpu/drm/i915/intel_pm.c drivers/gpu/drm/ingenic/ingenic-drm.c drivers/gpu/drm/mediatek/mtk_drm_crtc.c drivers/gpu/drm/msm/adreno/a6xx_gmu.h drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c drivers/gpu/drm/panel/panel-lvds.c drivers/gpu/drm/panfrost/panfrost_devfreq.c drivers/gpu/drm/panfrost/panfrost_job.c drivers/gpu/drm/tegra/drm.c drivers/hid/hid-ite.c drivers/i2c/busses/i2c-jz4780.c drivers/infiniband/core/device.c drivers/infiniband/hw/hfi1/user_exp_rcv.c drivers/infiniband/hw/hns/hns_roce_device.h drivers/infiniband/hw/hns/hns_roce_hw_v2.c drivers/infiniband/hw/mlx5/main.c drivers/input/tablet/gtco.c drivers/input/touchscreen/ili210x.c drivers/input/touchscreen/st1232.c drivers/iommu/arm-smmu-qcom.c drivers/iommu/arm-smmu.c drivers/iommu/arm-smmu.h drivers/iommu/dma-iommu.c drivers/iommu/intel-pasid.c drivers/iommu/intel-svm.c drivers/iommu/io-pgtable-arm.c drivers/iommu/iommu.c drivers/iommu/iova.c drivers/iommu/mtk_iommu.c drivers/iommu/mtk_iommu.h drivers/irqchip/Kconfig drivers/irqchip/irq-ingenic.c drivers/leds/leds-lm3692x.c drivers/leds/leds-tlc591xx.c drivers/md/bcache/journal.c drivers/md/bcache/super.c drivers/md/dm-thin.c drivers/media/i2c/ov6650.c drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c drivers/media/usb/pulse8-cec/pulse8-cec.c drivers/media/v4l2-core/v4l2-compat-ioctl32.c drivers/media/v4l2-core/videobuf-dma-sg.c drivers/misc/mei/hw-me-regs.h drivers/mmc/core/host.c drivers/mmc/core/slot-gpio.c drivers/mmc/host/pxamci.c drivers/mmc/host/sdhci-esdhc-imx.c drivers/mmc/host/sdhci-of-at91.c drivers/mmc/host/sdhci-of-esdhc.c drivers/mmc/host/sdhci_am654.c drivers/mtd/nand/onenand/Makefile drivers/mtd/nand/onenand/omap2.c drivers/mtd/nand/onenand/samsung_mtd.c drivers/mtd/spi-nor/spi-nor.c drivers/net/ethernet/amazon/ena/ena_com.c drivers/net/ethernet/amazon/ena/ena_netdev.c drivers/net/ethernet/broadcom/bnxt/bnxt.c drivers/net/ethernet/broadcom/bnxt/bnxt.h drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h drivers/net/ethernet/freescale/dpaa/dpaa_eth.c drivers/net/ethernet/intel/e1000e/netdev.c drivers/net/ethernet/marvell/mvneta.c drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c drivers/net/ethernet/mellanox/mlx5/core/wq.c drivers/net/ethernet/mellanox/mlx5/core/wq.h drivers/net/ethernet/mellanox/mlxsw/spectrum.c drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c drivers/net/ethernet/xscale/ixp4xx_eth.c drivers/net/phy/fixed_phy.c drivers/net/phy/phylink.c drivers/net/phy/realtek.c drivers/net/usb/r8152.c drivers/net/wireless/ath/wil6210/wil_platform.c drivers/net/wireless/intel/iwlwifi/mvm/fw.c drivers/net/wireless/realtek/rtw88/fw.c drivers/opp/of.c drivers/pci/controller/dwc/pci-meson.c drivers/pci/pci-driver.c drivers/phy/motorola/phy-cpcap-usb.c drivers/platform/x86/intel_pmc_core.c drivers/platform/x86/intel_scu_ipc.c drivers/power/supply/axp20x_ac_power.c drivers/regulator/core.c drivers/reset/core.c drivers/rtc/Kconfig drivers/rtc/rtc-hym8563.c drivers/rtc/rtc-mt6397.c drivers/s390/crypto/pkey_api.c drivers/s390/net/qeth_core.h drivers/s390/net/qeth_core_main.c drivers/s390/net/qeth_l2_main.c drivers/s390/net/qeth_l2_sys.c drivers/s390/net/qeth_l3_main.c drivers/s390/net/qeth_l3_sys.c drivers/scsi/hisi_sas/hisi_sas_main.c drivers/scsi/lpfc/lpfc_ct.c drivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_init.c drivers/scsi/qla2xxx/qla_target.c drivers/scsi/sd.c drivers/scsi/sd_zbc.c drivers/scsi/ufs/ufshcd-crypto.c drivers/scsi/ufs/ufshcd.c drivers/soc/qcom/Makefile drivers/soc/qcom/spcom.c drivers/spi/spi-dw.c drivers/spi/spi-sprd.c drivers/staging/android/ion/heaps/Kconfig drivers/staging/android/ion/heaps/msm_ion.c drivers/staging/media/hantro/hantro_h264.c drivers/staging/rtl8188eu/os_dep/ioctl_linux.c drivers/staging/rtl8723bs/os_dep/ioctl_linux.c drivers/target/iscsi/iscsi_target_auth.c drivers/tee/optee/core.c drivers/thermal/broadcom/brcmstb_thermal.c drivers/tty/serdev/core.c drivers/tty/serial/Kconfig drivers/tty/serial/samsung_tty.c drivers/usb/dwc3/host.c drivers/usb/gadget/composite.c drivers/vhost/vsock.c drivers/watchdog/imx7ulp_wdt.c fs/btrfs/async-thread.c fs/btrfs/disk-io.c fs/btrfs/inode.c fs/btrfs/transaction.c fs/btrfs/volumes.c fs/compat_ioctl.c fs/crypto/Kconfig fs/crypto/fscrypt_private.h fs/ext4/ext4.h fs/ext4/inode.c fs/ext4/super.c fs/f2fs/compress.c fs/f2fs/data.c fs/hugetlbfs/inode.c fs/incfs/format.h fs/incfs/vfs.c fs/io_uring.c fs/iomap/direct-io.c fs/jbd2/journal.c fs/jbd2/transaction.c fs/libfs.c fs/nfs/dir.c fs/nfs/nfs2xdr.c fs/nfsd/nfs4proc.c fs/nfsd/nfs4state.c fs/nfsd/state.h fs/nfsd/vfs.c fs/ubifs/ioctl.c fs/xfs/xfs_ioctl.c fs/xfs/xfs_ioctl32.c include/asm-generic/tlb.h include/crypto/skcipher.h include/drm/drm_dp_helper.h include/linux/arm-smccc.h include/linux/device.h include/linux/dma-direct.h include/linux/hugetlb.h include/linux/io-pgtable.h include/linux/iommu.h include/linux/mfd/rohm-bd70528.h include/linux/mfd/syscon.h include/linux/padata.h include/linux/perf_event.h include/linux/qcom_scm.h include/linux/rculist_nulls.h include/net/udp.h include/rdma/ib_verbs.h include/trace/events/f2fs.h include/uapi/sound/asound.h init/Kconfig.gki kernel/bpf/devmap.c kernel/dma/direct.c kernel/dma/mapping.c kernel/events/core.c kernel/locking/spinlock_debug.c kernel/padata.c kernel/rcu/tree_exp.h kernel/sched/fair.c kernel/sched/idle.c kernel/sched/psi.c kernel/sched/sched.h kernel/signal.c kernel/time/alarmtimer.c kernel/trace/blktrace.c kernel/trace/ring_buffer.c kernel/trace/trace.c kernel/trace/trace_events_hist.c kernel/workqueue.c mm/Kconfig mm/debug.c mm/gup.c mm/huge_memory.c mm/hugetlb.c mm/memory_hotplug.c mm/mmu_gather.c mm/oom_kill.c mm/page_alloc.c mm/userfaultfd.c net/Makefile net/core/sock_map.c net/hsr/hsr_framereg.c net/netfilter/nf_tables_api.c net/netfilter/nf_tables_offload.c net/netfilter/nft_bitwise.c net/netfilter/nft_meta.c net/qrtr/Makefile net/qrtr/qrtr.c net/socket.c net/sunrpc/cache.c net/sunrpc/xprtrdma/rpc_rdma.c net/sunrpc/xprtrdma/transport.c net/sunrpc/xprtrdma/verbs.c net/vmw_vsock/hyperv_transport.c samples/bpf/xdp_adjust_tail_kern.c scripts/kallsyms.c security/integrity/ima/ima_policy.c security/selinux/Kconfig security/selinux/hooks.c security/selinux/include/security.h security/selinux/ss/services.c security/selinux/ss/sidtab.c security/selinux/ss/sidtab.h sound/pci/hda/hda_tegra.c sound/pci/hda/patch_realtek.c sound/soc/codecs/msm8916-wcd-analog.c sound/soc/meson/axg-fifo.c sound/soc/meson/axg-fifo.h sound/soc/meson/axg-frddr.c sound/soc/sh/rcar/core.c sound/soc/soc-topology.c sound/soc/sof/core.c sound/soc/sof/loader.c sound/soc/stm/stm32_spdifrx.c sound/usb/format.c sound/usb/pcm.c sound/usb/quirks.c tools/objtool/sync-check.sh tools/perf/util/machine.c tools/power/x86/intel-speed-select/isst-core.c tools/testing/selftests/bpf/bpf_helpers.h tools/testing/selftests/bpf/prog_tests/perf_buffer.c tools/testing/selftests/bpf/test_select_reuseport.c usr/gen_initramfs_list.sh usr/include/Makefile virt/kvm/arm/mmio.c virt/kvm/kvm_main.c Change-Id: I762c28d9707728f9a86ee59eb27f000470e1c103 Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2020-07-02 10:48:07 -07:00
return true;
}
ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle The ACPI SCI (System Control Interrupt) is set up as a wakeup IRQ during suspend-to-idle transitions and, consequently, any events signaled through it wake up the system from that state. However, on some systems some of the events signaled via the ACPI SCI while suspended to idle should not cause the system to wake up. In fact, quite often they should just be discarded. Arguably, systems should not resume entirely on such events, but in order to decide which events really should cause the system to resume and which are spurious, it is necessary to resume up to the point when ACPI SCIs are actually handled and processed, which is after executing dpm_resume_noirq() in the system resume path. For this reasons, add a loop around freeze_enter() in which the platforms can process events signaled via multiplexed IRQ lines like the ACPI SCI and add suspend-to-idle hooks that can be used for this purpose to struct platform_freeze_ops. In the ACPI case, the ->wake hook is used for checking if the SCI has triggered while suspended and deferring the interrupt-induced system wakeup until the events signaled through it are actually processed sufficiently to decide whether or not the system should resume. In turn, the ->sync hook allows all of the relevant event queues to be flushed so as to prevent events from being missed due to race conditions. In addition to that, some ACPI code processing wakeup events needs to be modified to use the "hard" version of wakeup triggers, so that it will cause a system resume to happen on device-induced wakeup events even if the "soft" mechanism to prevent the system from suspending is not enabled. However, to preserve the existing behavior with respect to suspend-to-RAM, this only is done in the suspend-to-idle case and only if an SCI has occurred while suspended. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-12 22:56:34 +02:00
rearm_wake_irq(acpi_sci_irq);
}
return false;
ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle The ACPI SCI (System Control Interrupt) is set up as a wakeup IRQ during suspend-to-idle transitions and, consequently, any events signaled through it wake up the system from that state. However, on some systems some of the events signaled via the ACPI SCI while suspended to idle should not cause the system to wake up. In fact, quite often they should just be discarded. Arguably, systems should not resume entirely on such events, but in order to decide which events really should cause the system to resume and which are spurious, it is necessary to resume up to the point when ACPI SCIs are actually handled and processed, which is after executing dpm_resume_noirq() in the system resume path. For this reasons, add a loop around freeze_enter() in which the platforms can process events signaled via multiplexed IRQ lines like the ACPI SCI and add suspend-to-idle hooks that can be used for this purpose to struct platform_freeze_ops. In the ACPI case, the ->wake hook is used for checking if the SCI has triggered while suspended and deferring the interrupt-induced system wakeup until the events signaled through it are actually processed sufficiently to decide whether or not the system should resume. In turn, the ->sync hook allows all of the relevant event queues to be flushed so as to prevent events from being missed due to race conditions. In addition to that, some ACPI code processing wakeup events needs to be modified to use the "hard" version of wakeup triggers, so that it will cause a system resume to happen on device-induced wakeup events even if the "soft" mechanism to prevent the system from suspending is not enabled. However, to preserve the existing behavior with respect to suspend-to-RAM, this only is done in the suspend-to-idle case and only if an SCI has occurred while suspended. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-12 22:56:34 +02:00
}
ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices According to Section 3.5 of the "Intel Low Power S0 Idle" document [1], Function 5 of the LPS0 _DSM is expected to be invoked when the system configuration matches the criteria for entering the target low-power state of the platform. In particular, this means that all devices should be suspended and in low-power states already when that function is invoked. This is not the case currently, however, because Function 5 of the LPS0 _DSM is invoked by it before the "noirq" phase of device suspend, which means that some devices may not have been put into low-power states yet at that point. That is a consequence of the previous design of the suspend-to-idle flow that allowed the "noirq" phase of device suspend and the "noirq" phase of device resume to be carried out for multiple times while "suspended" (if any spurious wakeup events were detected) and the point of the LPS0 _DSM Function 5 invocation was chosen so as to call it (and LPS0 _DSM Function 6 analogously) once per suspend-resume cycle (regardless of how many times the "noirq" phases of device suspend and resume were carried out while "suspended"). Now that the suspend-to-idle flow has been redesigned to carry out the "noirq" phases of device suspend and resume once in each cycle, the code can be reordered to follow the specification that it is based on more closely. For this purpose, add ->prepare_late and ->restore_early platform callbacks for suspend-to-idle, to be executed, respectively, after the "noirq" phase of suspending devices and before the "noirq" phase of resuming them and make ACPI use them for the invocation of LPS0 _DSM functions as appropriate. While at it, move the LPS0 entry requirements check to be made before invoking Functions 3 and 5 of the LPS0 _DSM (also once per cycle) as follows from the specification [1]. Link: https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf # [1] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
2019-08-01 19:31:10 +02:00
static void acpi_s2idle_restore_early(void)
{
if (!lps0_device_handle || sleep_no_lps0)
return;
acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT);
acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON);
}
static void acpi_s2idle_restore(void)
{
/*
* Drain pending events before restoring the working-state configuration
* of GPEs.
*/
acpi_os_wait_events_complete(); /* synchronize GPE processing */
acpi_ec_flush_work(); /* flush the EC driver's workqueues */
acpi_os_wait_events_complete(); /* synchronize Notify handling */
s2idle_wakeup = false;
acpi_enable_all_runtime_gpes();
ACPI: PM: Set enable_for_wake for wakeup GPEs during suspend-to-idle I noticed that recently multiple systems (chromebooks) couldn't wake from S0ix using LID or Keyboard after updating to a newer kernel. I bisected and it turned up commit f941d3e41da7 ("ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle"). I checked that the issue got fixed if that commit was reverted. I debugged and found that although PNP0C0D:00 (representing the LID) is wake capable and should wakeup the system per the code in acpi_wakeup_gpe_init() and in drivers/acpi/button.c: localhost /sys # cat /proc/acpi/wakeup Device S-state Status Sysfs node LID0 S4 *enabled platform:PNP0C0D:00 CREC S5 *disabled platform:GOOG0004:00 *disabled platform:cros-ec-dev.1.auto *disabled platform:cros-ec-accel.0 *disabled platform:cros-ec-accel.1 *disabled platform:cros-ec-gyro.0 *disabled platform:cros-ec-ring.0 *disabled platform:cros-usbpd-charger.2.auto *disabled platform:cros-usbpd-logger.3.auto D015 S3 *enabled i2c:i2c-ELAN0000:00 PENH S3 *enabled platform:PRP0001:00 XHCI S3 *enabled pci:0000:00:14.0 GLAN S4 *disabled WIFI S3 *disabled pci:0000:00:14.3 localhost /sys # On debugging, I found that its corresponding GPE is not being enabled. The particular GPE's "gpe_register_info->enable_for_wake" does not have any bits set when acpi_enable_all_wakeup_gpes() comes around to use it. I looked at code and could not find any other code path that should set the bits in "enable_for_wake" bitmask for the wake enabled devices for s2idle. [I do see that it happens for S3 in acpi_sleep_prepare()]. Thus I used the same call to enable the GPEs for wake enabled devices, and verified that this fixes the regression I was seeing on multiple of my devices. [ rjw: The problem is that commit f941d3e41da7 ("ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle") forgot to add the acpi_enable_wakeup_devices() call for s2idle along with acpi_enable_all_wakeup_gpes(). ] Fixes: f941d3e41da7 ("ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle") Link: https://bugzilla.kernel.org/show_bug.cgi?id=203579 Signed-off-by: Rajat Jain <rajatja@google.com> [ rjw: Subject & changelog ] Cc: 5.0+ <stable@vger.kernel.org> # 5.0+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2019-05-13 12:17:08 -07:00
acpi_disable_wakeup_devices(ACPI_STATE_S0);
if (acpi_sci_irq_valid()) {
acpi_ec_set_gpe_wake_mask(ACPI_GPE_DISABLE);
disable_irq_wake(acpi_sci_irq);
}
}
static void acpi_s2idle_end(void)
{
acpi_scan_lock_release();
}
static const struct platform_s2idle_ops acpi_s2idle_ops = {
.begin = acpi_s2idle_begin,
.prepare = acpi_s2idle_prepare,
ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices According to Section 3.5 of the "Intel Low Power S0 Idle" document [1], Function 5 of the LPS0 _DSM is expected to be invoked when the system configuration matches the criteria for entering the target low-power state of the platform. In particular, this means that all devices should be suspended and in low-power states already when that function is invoked. This is not the case currently, however, because Function 5 of the LPS0 _DSM is invoked by it before the "noirq" phase of device suspend, which means that some devices may not have been put into low-power states yet at that point. That is a consequence of the previous design of the suspend-to-idle flow that allowed the "noirq" phase of device suspend and the "noirq" phase of device resume to be carried out for multiple times while "suspended" (if any spurious wakeup events were detected) and the point of the LPS0 _DSM Function 5 invocation was chosen so as to call it (and LPS0 _DSM Function 6 analogously) once per suspend-resume cycle (regardless of how many times the "noirq" phases of device suspend and resume were carried out while "suspended"). Now that the suspend-to-idle flow has been redesigned to carry out the "noirq" phases of device suspend and resume once in each cycle, the code can be reordered to follow the specification that it is based on more closely. For this purpose, add ->prepare_late and ->restore_early platform callbacks for suspend-to-idle, to be executed, respectively, after the "noirq" phase of suspending devices and before the "noirq" phase of resuming them and make ACPI use them for the invocation of LPS0 _DSM functions as appropriate. While at it, move the LPS0 entry requirements check to be made before invoking Functions 3 and 5 of the LPS0 _DSM (also once per cycle) as follows from the specification [1]. Link: https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf # [1] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
2019-08-01 19:31:10 +02:00
.prepare_late = acpi_s2idle_prepare_late,
.wake = acpi_s2idle_wake,
ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices According to Section 3.5 of the "Intel Low Power S0 Idle" document [1], Function 5 of the LPS0 _DSM is expected to be invoked when the system configuration matches the criteria for entering the target low-power state of the platform. In particular, this means that all devices should be suspended and in low-power states already when that function is invoked. This is not the case currently, however, because Function 5 of the LPS0 _DSM is invoked by it before the "noirq" phase of device suspend, which means that some devices may not have been put into low-power states yet at that point. That is a consequence of the previous design of the suspend-to-idle flow that allowed the "noirq" phase of device suspend and the "noirq" phase of device resume to be carried out for multiple times while "suspended" (if any spurious wakeup events were detected) and the point of the LPS0 _DSM Function 5 invocation was chosen so as to call it (and LPS0 _DSM Function 6 analogously) once per suspend-resume cycle (regardless of how many times the "noirq" phases of device suspend and resume were carried out while "suspended"). Now that the suspend-to-idle flow has been redesigned to carry out the "noirq" phases of device suspend and resume once in each cycle, the code can be reordered to follow the specification that it is based on more closely. For this purpose, add ->prepare_late and ->restore_early platform callbacks for suspend-to-idle, to be executed, respectively, after the "noirq" phase of suspending devices and before the "noirq" phase of resuming them and make ACPI use them for the invocation of LPS0 _DSM functions as appropriate. While at it, move the LPS0 entry requirements check to be made before invoking Functions 3 and 5 of the LPS0 _DSM (also once per cycle) as follows from the specification [1]. Link: https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf # [1] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
2019-08-01 19:31:10 +02:00
.restore_early = acpi_s2idle_restore_early,
.restore = acpi_s2idle_restore,
.end = acpi_s2idle_end,
};
static void acpi_sleep_suspend_setup(void)
{
int i;
for (i = ACPI_STATE_S1; i < ACPI_STATE_S4; i++)
if (acpi_sleep_state_supported(i))
sleep_states[i] = 1;
suspend_set_ops(old_suspend_ordering ?
&acpi_suspend_ops_old : &acpi_suspend_ops);
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
acpi_scan_add_handler(&lps0_handler);
s2idle_set_ops(&acpi_s2idle_ops);
}
#else /* !CONFIG_SUSPEND */
ACPI / sleep: EC-based wakeup from suspend-to-idle on recent systems Some recent Dell laptops, including the XPS13 model numbers 9360 and 9365, cannot be woken up from suspend-to-idle by pressing the power button which is unexpected and makes that feature less usable on those systems. Moreover, on the 9365 ACPI S3 (suspend-to-RAM) is not expected to be used at all (the OS these systems ship with never exercises the ACPI S3 path in the firmware) and suspend-to-idle is the only viable system suspend mechanism there. The reason why the power button wakeup from suspend-to-idle doesn't work on those systems is because their power button events are signaled by the EC (Embedded Controller), whose GPE (General Purpose Event) line is disabled during suspend-to-idle transitions in Linux. That is done on purpose, because in general the EC tends to be noisy for various reasons (battery and thermal updates and similar, for example) and all events signaled by it would kick the CPUs out of deep idle states while in suspend-to-idle, which effectively might defeat its purpose. Of course, on the Dell systems in question the EC GPE must be enabled during suspend-to-idle transitions for the button press events to be signaled while suspended at all, but fortunately there is a way out of this puzzle. First of all, those systems have the ACPI_FADT_LOW_POWER_S0 flag set in their ACPI tables, which means that the OS is expected to prefer the "low power S0 idle" system state over ACPI S3 on them. That causes the most recent versions of other OSes to simply ignore ACPI S3 on those systems, so it is reasonable to expect that it should not be necessary to block GPEs during suspend-to-idle on them. Second, in addition to that, the systems in question provide a special firmware interface that can be used to indicate to the platform that the OS is transitioning into a system-wide low-power state in which certain types of activity are not desirable or that it is leaving such a state and that (in principle) should allow the platform to adjust its operation mode accordingly. That interface is a special _DSM object under a System Power Management Controller device (PNP0D80). The expected way to use it is to invoke function 0 from it on system initialization, functions 3 and 5 during suspend transitions and functions 4 and 6 during resume transitions (to reverse the actions carried out by the former). In particular, function 5 from the "Low-Power S0" device _DSM is expected to cause the platform to put itself into a low-power operation mode which should include making the EC less verbose (so to speak). Next, on resume, function 6 switches the platform back to the "working-state" operation mode. In accordance with the above, modify the ACPI suspend-to-idle code to look for the "Low-Power S0" _DSM interface on platforms with the ACPI_FADT_LOW_POWER_S0 flag set in the ACPI tables. If it's there, use it during suspend-to-idle transitions as prescribed and avoid changing the GPE configuration in that case. [That should reflect what the most recent versions of other OSes do.] Also modify the ACPI EC driver to make it handle events during suspend-to-idle in the usual way if the "Low-Power S0" _DSM interface is going to be used to make the power button events work while suspended on the Dell machines mentioned above Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-23 15:24:32 +02:00
#define s2idle_wakeup (false)
#define lps0_device_handle (NULL)
static inline void acpi_sleep_suspend_setup(void) {}
#endif /* !CONFIG_SUSPEND */
ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle The ACPI SCI (System Control Interrupt) is set up as a wakeup IRQ during suspend-to-idle transitions and, consequently, any events signaled through it wake up the system from that state. However, on some systems some of the events signaled via the ACPI SCI while suspended to idle should not cause the system to wake up. In fact, quite often they should just be discarded. Arguably, systems should not resume entirely on such events, but in order to decide which events really should cause the system to resume and which are spurious, it is necessary to resume up to the point when ACPI SCIs are actually handled and processed, which is after executing dpm_resume_noirq() in the system resume path. For this reasons, add a loop around freeze_enter() in which the platforms can process events signaled via multiplexed IRQ lines like the ACPI SCI and add suspend-to-idle hooks that can be used for this purpose to struct platform_freeze_ops. In the ACPI case, the ->wake hook is used for checking if the SCI has triggered while suspended and deferring the interrupt-induced system wakeup until the events signaled through it are actually processed sufficiently to decide whether or not the system should resume. In turn, the ->sync hook allows all of the relevant event queues to be flushed so as to prevent events from being missed due to race conditions. In addition to that, some ACPI code processing wakeup events needs to be modified to use the "hard" version of wakeup triggers, so that it will cause a system resume to happen on device-induced wakeup events even if the "soft" mechanism to prevent the system from suspending is not enabled. However, to preserve the existing behavior with respect to suspend-to-RAM, this only is done in the suspend-to-idle case and only if an SCI has occurred while suspended. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-12 22:56:34 +02:00
bool acpi_s2idle_wakeup(void)
{
return s2idle_wakeup;
}
#ifdef CONFIG_PM_SLEEP
static u32 saved_bm_rld;
static int acpi_save_bm_rld(void)
{
acpi_read_bit_register(ACPI_BITREG_BUS_MASTER_RLD, &saved_bm_rld);
return 0;
}
static void acpi_restore_bm_rld(void)
{
u32 resumed_bm_rld = 0;
acpi_read_bit_register(ACPI_BITREG_BUS_MASTER_RLD, &resumed_bm_rld);
if (resumed_bm_rld == saved_bm_rld)
return;
acpi_write_bit_register(ACPI_BITREG_BUS_MASTER_RLD, saved_bm_rld);
}
static struct syscore_ops acpi_sleep_syscore_ops = {
.suspend = acpi_save_bm_rld,
.resume = acpi_restore_bm_rld,
};
static void acpi_sleep_syscore_init(void)
{
register_syscore_ops(&acpi_sleep_syscore_ops);
}
#else
static inline void acpi_sleep_syscore_init(void) {}
#endif /* CONFIG_PM_SLEEP */
#ifdef CONFIG_HIBERNATION
static unsigned long s4_hardware_signature;
static struct acpi_table_facs *facs;
static bool nosigcheck;
void __init acpi_no_s4_hw_signature(void)
{
nosigcheck = true;
}
static int acpi_hibernation_begin(pm_message_t stage)
{
if (!nvs_nosave) {
int error = suspend_nvs_alloc();
if (error)
return error;
}
if (stage.event == PM_EVENT_HIBERNATE)
pm_set_suspend_via_firmware();
acpi_pm_start(ACPI_STATE_S4);
return 0;
}
static int acpi_hibernation_enter(void)
{
acpi_status status = AE_OK;
ACPI_FLUSH_CPU_CACHE();
/* This shouldn't return. If it returns, we have a problem */
status = acpi_enter_sleep_state(ACPI_STATE_S4);
/* Reprogram control registers */
acpi_leave_sleep_state_prep(ACPI_STATE_S4);
return ACPI_SUCCESS(status) ? 0 : -EFAULT;
}
static void acpi_hibernation_leave(void)
{
pm_set_resume_via_firmware();
/*
* If ACPI is not enabled by the BIOS and the boot kernel, we need to
* enable it here.
*/
acpi_enable();
/* Reprogram control registers */
acpi_leave_sleep_state_prep(ACPI_STATE_S4);
/* Check the hardware signature */
if (facs && s4_hardware_signature != facs->hardware_signature)
pr_crit("ACPI: Hardware changed while hibernated, success doubtful!\n");
/* Restore the NVS memory area */
suspend_nvs_restore();
/* Allow EC transactions to happen. */
ACPI / EC: Add PM operations to improve event handling for resume process This patch makes 2 changes: 1. Restore old behavior Originally, EC driver stops handling both events and transactions in acpi_ec_block_transactions(), and restarts to handle transactions in acpi_ec_unblock_transactions_early(), restarts to handle both events and transactions in acpi_ec_unblock_transactions(). While currently, EC driver still stops handling both events and transactions in acpi_ec_block_transactions(), but restarts to handle both events and transactions in acpi_ec_unblock_transactions_early(). This patch tries to restore the old behavior by dropping __acpi_ec_enable_event() from acpi_unblock_transactions_early(). 2. Improve old behavior However this still cannot fix the real issue as both of the acpi_ec_unblock_xxx() functions are invoked in the noirq stage. Since the EC driver actually doesn't implement the event handling in the polling mode, re-enabling the event handling too early in the noirq stage could result in the problem that if there is no triggering source causing advance_transaction() to be invoked, pending SCI_EVT cannot be detected by the EC driver and _Qxx cannot be triggered. It actually makes sense to restart the event handling in any point during resuming after the noirq stage. Just like the boot stage where the event handling is enabled in .add(), this patch further moves acpi_ec_enable_event() to .resume(). After doing that, the following 2 functions can be combined: acpi_ec_unblock_transactions_early()/acpi_ec_unblock_transactions(). The differences of the event handling availability between the old behavior (this patch isn't applied) and the new behavior (this patch is applied) are as follows: !Applied Applied before suspend Y Y suspend before EC Y Y suspend after EC Y Y suspend_late Y Y suspend_noirq Y (actually N) Y (actually N) resume_noirq Y (actually N) Y (actually N) resume_late Y (actually N) Y (actually N) resume before EC Y (actually N) Y (actually N) resume after EC Y (actually N) Y after resume Y (actually N) Y Where "actually N" means if there is no triggering source, the EC driver is actually not able to notice the pending SCI_EVT occurred in the noirq stage. So we can clearly see that this patch has improved the situation. Signed-off-by: Lv Zheng <lv.zheng@intel.com> Tested-by: Todd E Brandt <todd.e.brandt@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-08-03 16:01:36 +08:00
acpi_ec_unblock_transactions();
}
static void acpi_pm_thaw(void)
{
acpi_ec_unblock_transactions();
acpi_enable_all_runtime_gpes();
}
static const struct platform_hibernation_ops acpi_hibernation_ops = {
.begin = acpi_hibernation_begin,
.end = acpi_pm_end,
.pre_snapshot = acpi_pm_prepare,
.finish = acpi_pm_finish,
.prepare = acpi_pm_prepare,
.enter = acpi_hibernation_enter,
.leave = acpi_hibernation_leave,
.pre_restore = acpi_pm_freeze,
.restore_cleanup = acpi_pm_thaw,
};
/**
* acpi_hibernation_begin_old - Set the target system sleep state to
* ACPI_STATE_S4 and execute the _PTS control method. This
* function is used if the pre-ACPI 2.0 suspend ordering has been
* requested.
*/
static int acpi_hibernation_begin_old(pm_message_t stage)
swsusp: introduce restore platform operations At least on some machines it is necessary to prepare the ACPI firmware for the restoration of the system memory state from the hibernation image if the "platform" mode of hibernation has been used. Namely, in that cases we need to disable the GPEs before replacing the "boot" kernel with the "frozen" kernel (cf. http://bugzilla.kernel.org/show_bug.cgi?id=7887). After the restore they will be re-enabled by hibernation_ops->finish(), but if the restore fails, they have to be re-enabled by the restore code explicitly. For this purpose we can introduce two additional hibernation operations, called pre_restore() and restore_cleanup() and call them from the restore code path. Still, they should be called if the "platform" mode of hibernation has been used, so we need to pass the information about the hibernation mode from the "frozen" kernel to the "boot" kernel in the image header. Apparently, we can't drop the disabling of GPEs before the restore because of Bug #7887 .  We also can't do it unconditionally, because the GPEs wouldn't have been enabled after a successful restore if the suspend had been done in the 'shutdown' or 'reboot' mode. In principle we could (and probably should) unconditionally disable the GPEs before each snapshot creation *and* before the restore, but then we'd have to unconditionally enable them after the snapshot creation as well as after the restore (or restore failure)   Still, for this purpose we'd need to modify acpi_enter_sleep_state_prep() and acpi_leave_sleep_state() and we'd have to introduce some mechanism synchronizing the disablind/enabling of the GPEs with the device drivers' .suspend()/.resume() routines and with disable_/enable_nonboot_cpus().  However, this would have affected the suspend (ie. s2ram) code as well as the hibernation, which I'd like to avoid in this patch series. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Cc: Nigel Cunningham <nigel@nigel.suspend2.net> Cc: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 01:47:30 -07:00
{
int error;
/*
* The _TTS object should always be evaluated before the _PTS object.
* When the old_suspended_ordering is true, the _PTS object is
* evaluated in the acpi_sleep_prepare.
*/
acpi_sleep_tts_switch(ACPI_STATE_S4);
error = acpi_sleep_prepare(ACPI_STATE_S4);
if (error)
return error;
swsusp: introduce restore platform operations At least on some machines it is necessary to prepare the ACPI firmware for the restoration of the system memory state from the hibernation image if the "platform" mode of hibernation has been used. Namely, in that cases we need to disable the GPEs before replacing the "boot" kernel with the "frozen" kernel (cf. http://bugzilla.kernel.org/show_bug.cgi?id=7887). After the restore they will be re-enabled by hibernation_ops->finish(), but if the restore fails, they have to be re-enabled by the restore code explicitly. For this purpose we can introduce two additional hibernation operations, called pre_restore() and restore_cleanup() and call them from the restore code path. Still, they should be called if the "platform" mode of hibernation has been used, so we need to pass the information about the hibernation mode from the "frozen" kernel to the "boot" kernel in the image header. Apparently, we can't drop the disabling of GPEs before the restore because of Bug #7887 .  We also can't do it unconditionally, because the GPEs wouldn't have been enabled after a successful restore if the suspend had been done in the 'shutdown' or 'reboot' mode. In principle we could (and probably should) unconditionally disable the GPEs before each snapshot creation *and* before the restore, but then we'd have to unconditionally enable them after the snapshot creation as well as after the restore (or restore failure)   Still, for this purpose we'd need to modify acpi_enter_sleep_state_prep() and acpi_leave_sleep_state() and we'd have to introduce some mechanism synchronizing the disablind/enabling of the GPEs with the device drivers' .suspend()/.resume() routines and with disable_/enable_nonboot_cpus().  However, this would have affected the suspend (ie. s2ram) code as well as the hibernation, which I'd like to avoid in this patch series. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Cc: Nigel Cunningham <nigel@nigel.suspend2.net> Cc: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 01:47:30 -07:00
if (!nvs_nosave) {
error = suspend_nvs_alloc();
if (error)
return error;
}
if (stage.event == PM_EVENT_HIBERNATE)
pm_set_suspend_via_firmware();
acpi_target_sleep_state = ACPI_STATE_S4;
acpi_scan_lock_acquire();
return 0;
}
/*
* The following callbacks are used if the pre-ACPI 2.0 suspend ordering has
* been requested.
*/
static const struct platform_hibernation_ops acpi_hibernation_ops_old = {
.begin = acpi_hibernation_begin_old,
.end = acpi_pm_end,
.pre_snapshot = acpi_pm_pre_suspend,
.prepare = acpi_pm_freeze,
.finish = acpi_pm_finish,
.enter = acpi_hibernation_enter,
.leave = acpi_hibernation_leave,
.pre_restore = acpi_pm_freeze,
.restore_cleanup = acpi_pm_thaw,
.recover = acpi_pm_finish,
};
static void acpi_sleep_hibernate_setup(void)
{
if (!acpi_sleep_state_supported(ACPI_STATE_S4))
return;
hibernation_set_ops(old_suspend_ordering ?
&acpi_hibernation_ops_old : &acpi_hibernation_ops);
sleep_states[ACPI_STATE_S4] = 1;
if (nosigcheck)
return;
acpi_get_table(ACPI_SIG_FACS, 1, (struct acpi_table_header **)&facs);
if (facs) {
s4_hardware_signature = facs->hardware_signature;
acpi_put_table((struct acpi_table_header *)facs);
}
}
#else /* !CONFIG_HIBERNATION */
static inline void acpi_sleep_hibernate_setup(void) {}
#endif /* !CONFIG_HIBERNATION */
static void acpi_power_off_prepare(void)
{
/* Prepare to power off the system */
acpi_sleep_prepare(ACPI_STATE_S5);
acpi_disable_all_gpes();
acpi_os_wait_events_complete();
}
static void acpi_power_off(void)
{
/* acpi_sleep_prepare(ACPI_STATE_S5) should have already been called */
printk(KERN_DEBUG "%s called\n", __func__);
local_irq_disable();
acpi_enter_sleep_state(ACPI_STATE_S5);
}
int __init acpi_sleep_init(void)
{
char supported[ACPI_S_STATE_COUNT * 3 + 1];
char *pos = supported;
int i;
acpi_sleep_dmi_check();
sleep_states[ACPI_STATE_S0] = 1;
acpi_sleep_syscore_init();
acpi_sleep_suspend_setup();
acpi_sleep_hibernate_setup();
if (acpi_sleep_state_supported(ACPI_STATE_S5)) {
sleep_states[ACPI_STATE_S5] = 1;
pm_power_off_prepare = acpi_power_off_prepare;
pm_power_off = acpi_power_off;
} else {
acpi_no_s5 = true;
}
supported[0] = 0;
for (i = 0; i < ACPI_S_STATE_COUNT; i++) {
if (sleep_states[i])
pos += sprintf(pos, " S%d", i);
}
pr_info(PREFIX "(supports%s)\n", supported);
/*
* Register the tts_notifier to reboot notifier list so that the _TTS
* object can also be evaluated when the system enters S5.
*/
register_reboot_notifier(&tts_notifier);
return 0;
}