Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ce2f3d6 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 4.19.190 into android-4.19-stable



Changes in 4.19.190
	erofs: fix extended inode could cross boundary
	ACPI: tables: x86: Reserve memory occupied by ACPI tables
	ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade()
	net: usb: ax88179_178a: initialize local variables before use
	iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd()
	mips: Do not include hi and lo in clobber list for R6
	bpf: Fix masking negation logic upon negative dst register
	iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd()
	ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX
	USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet
	USB: Add reset-resume quirk for WD19's Realtek Hub
	platform/x86: thinkpad_acpi: Correct thermal sensor allocation
	ovl: allow upperdir inside lowerdir
	Linux 4.19.190

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic34f20acac4f14f3d6c659086fcf5dfe6c3fed04
parents 61410d71 3c8c2309
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 189
SUBLEVEL = 190
EXTRAVERSION =
NAME = "People's Front"

+12 −2
Original line number Diff line number Diff line
@@ -18,6 +18,12 @@
#include <asm/unistd.h>
#include <asm/vdso.h>

#if MIPS_ISA_REV < 6
#define VDSO_SYSCALL_CLOBBERS "hi", "lo",
#else
#define VDSO_SYSCALL_CLOBBERS
#endif

#ifdef CONFIG_MIPS_CLOCK_VSYSCALL

static __always_inline long gettimeofday_fallback(struct timeval *_tv,
@@ -34,7 +40,9 @@ static __always_inline long gettimeofday_fallback(struct timeval *_tv,
	: "=r" (ret), "=r" (error)
	: "r" (tv), "r" (tz), "r" (nr)
	: "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
	  "$14", "$15", "$24", "$25", "hi", "lo", "memory");
	  "$14", "$15", "$24", "$25",
	  VDSO_SYSCALL_CLOBBERS
	  "memory");

	return error ? -ret : ret;
}
@@ -55,7 +63,9 @@ static __always_inline long clock_gettime_fallback(clockid_t _clkid,
	: "=r" (ret), "=r" (error)
	: "r" (clkid), "r" (ts), "r" (nr)
	: "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
	  "$14", "$15", "$24", "$25", "hi", "lo", "memory");
	  "$14", "$15", "$24", "$25",
	  VDSO_SYSCALL_CLOBBERS
	  "memory");

	return error ? -ret : ret;
}
+12 −13
Original line number Diff line number Diff line
@@ -1565,11 +1565,19 @@ void __init acpi_boot_table_init(void)
	/*
	 * Initialize the ACPI boot-time table parser.
	 */
	if (acpi_table_init()) {
	if (acpi_locate_initial_tables())
		disable_acpi();
		return;
	else
		acpi_reserve_initial_tables();
}

int __init early_acpi_boot_init(void)
{
	if (acpi_disabled)
		return 1;

	acpi_table_init_complete();

	acpi_table_parse(ACPI_SIG_BOOT, acpi_parse_sbf);

	/*
@@ -1581,19 +1589,10 @@ void __init acpi_boot_table_init(void)
		} else {
			printk(KERN_WARNING PREFIX "Disabling ACPI support\n");
			disable_acpi();
			return;
		}
			return 1;
		}
	}

int __init early_acpi_boot_init(void)
{
	/*
	 * If acpi_disabled, bail out
	 */
	if (acpi_disabled)
		return 1;

	/*
	 * Process the Multiple APIC Description Table (MADT), if present
	 */
+2 −5
Original line number Diff line number Diff line
@@ -1176,6 +1176,8 @@ void __init setup_arch(char **cmdline_p)
	reserve_initrd();

	acpi_table_upgrade();
	/* Look for ACPI tables and reserve memory occupied by them. */
	acpi_boot_table_init();

	vsmp_init();

@@ -1183,11 +1185,6 @@ void __init setup_arch(char **cmdline_p)

	early_platform_quirks();

	/*
	 * Parse the ACPI tables for possible boot-time SMP configuration.
	 */
	acpi_boot_table_init();

	early_acpi_boot_init();

	initmem_init();
+39 −3
Original line number Diff line number Diff line
@@ -732,7 +732,7 @@ acpi_os_table_override(struct acpi_table_header *existing_table,
}

/*
 * acpi_table_init()
 * acpi_locate_initial_tables()
 *
 * find RSDP, find and checksum SDT/XSDT.
 * checksum all tables, print SDT/XSDT
@@ -740,7 +740,7 @@ acpi_os_table_override(struct acpi_table_header *existing_table,
 * result: sdt_entry[] is initialized
 */

int __init acpi_table_init(void)
int __init acpi_locate_initial_tables(void)
{
	acpi_status status;

@@ -755,9 +755,45 @@ int __init acpi_table_init(void)
	status = acpi_initialize_tables(initial_tables, ACPI_MAX_TABLES, 0);
	if (ACPI_FAILURE(status))
		return -EINVAL;
	acpi_table_initrd_scan();

	return 0;
}

void __init acpi_reserve_initial_tables(void)
{
	int i;

	for (i = 0; i < ACPI_MAX_TABLES; i++) {
		struct acpi_table_desc *table_desc = &initial_tables[i];
		u64 start = table_desc->address;
		u64 size = table_desc->length;

		if (!start || !size)
			break;

		pr_info("Reserving %4s table memory at [mem 0x%llx-0x%llx]\n",
			table_desc->signature.ascii, start, start + size - 1);

		memblock_reserve(start, size);
	}
}

void __init acpi_table_init_complete(void)
{
	acpi_table_initrd_scan();
	check_multiple_madt();
}

int __init acpi_table_init(void)
{
	int ret;

	ret = acpi_locate_initial_tables();
	if (ret)
		return ret;

	acpi_table_init_complete();

	return 0;
}

Loading