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

Commit 00c4652b authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 5.4.193 into android11-5.4-lts



Changes in 5.4.193
	MIPS: Fix CP0 counter erratum detection for R4k CPUs
	parisc: Merge model and model name into one line in /proc/cpuinfo
	ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes
	gpiolib: of: fix bounds check for 'gpio-reserved-ranges'
	Revert "SUNRPC: attempt AF_LOCAL connect on setup"
	firewire: fix potential uaf in outbound_phy_packet_callback()
	firewire: remove check of list iterator against head past the loop body
	firewire: core: extend card->lock in fw_core_handle_bus_reset
	ACPICA: Always create namespace nodes using acpi_ns_create_node()
	genirq: Synchronize interrupt thread startup
	ASoC: da7219: Fix change notifications for tone generator frequency
	ASoC: wm8958: Fix change notifications for DSP controls
	ASoC: meson: Fix event generation for G12A tohdmi mux
	s390/dasd: fix data corruption for ESE devices
	s390/dasd: prevent double format of tracks for ESE devices
	s390/dasd: Fix read for ESE with blksize < 4k
	s390/dasd: Fix read inconsistency for ESE DASD devices
	can: grcan: grcan_close(): fix deadlock
	can: grcan: use ofdev->dev when allocating DMA memory
	nfc: replace improper check device_is_registered() in netlink related functions
	nfc: nfcmrvl: main: reorder destructive operations in nfcmrvl_nci_unregister_dev to avoid bugs
	NFC: netlink: fix sleep in atomic bug when firmware download timeout
	hwmon: (adt7470) Fix warning on module removal
	ASoC: dmaengine: Restore NULL prepare_slave_config() callback
	RDMA/siw: Fix a condition race issue in MPA request processing
	net: ethernet: mediatek: add missing of_node_put() in mtk_sgmii_init()
	net: stmmac: dwmac-sun8i: add missing of_node_put() in sun8i_dwmac_register_mdio_mux()
	net: emaclite: Add error handling for of_address_to_resource()
	selftests: mirror_gre_bridge_1q: Avoid changing PVID while interface is operational
	bnxt_en: Fix possible bnxt_open() failure caused by wrong RFS flag
	smsc911x: allow using IRQ0
	btrfs: always log symlinks in full mode
	net: igmp: respect RCU rules in ip_mc_source() and ip_mc_msfilter()
	drm/amdkfd: Use drm_priv to pass VM from KFD to amdgpu
	NFSv4: Don't invalidate inode attributes on delegation return
	kvm: x86/cpuid: Only provide CPUID leaf 0xA if host has architectural PMU
	x86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume
	KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised
	net: ipv6: ensure we call ipv6_mc_down() at most once
	block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern
	mm: fix unexpected zeroed page mapping with zram swap
	ALSA: pcm: Fix races among concurrent hw_params and hw_free calls
	ALSA: pcm: Fix races among concurrent read/write and buffer changes
	ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls
	ALSA: pcm: Fix races among concurrent prealloc proc writes
	ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock
	tcp: make sure treq->af_specific is initialized
	dm: fix mempool NULL pointer race when completing IO
	dm: interlock pending dm_io and dm_wait_for_bios_completion
	PCI: aardvark: Clear all MSIs at setup
	PCI: aardvark: Fix reading MSI interrupt number
	mmc: rtsx: add 74 Clocks in power on flow
	Linux 5.4.193

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I535ab835023ebb753a9bf8073c15f8e434862567
parents 44a1f2e6 01565c91
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
VERSION = 5
PATCHLEVEL = 4
PATCHLEVEL = 4
SUBLEVEL = 192
SUBLEVEL = 193
EXTRAVERSION =
EXTRAVERSION =
NAME = Kleptomaniac Octopus
NAME = Kleptomaniac Octopus


+4 −4
Original line number Original line Diff line number Diff line
@@ -40,9 +40,9 @@
typedef unsigned int cycles_t;
typedef unsigned int cycles_t;


/*
/*
 * On R4000/R4400 before version 5.0 an erratum exists such that if the
 * On R4000/R4400 an erratum exists such that if the cycle counter is
 * cycle counter is read in the exact moment that it is matching the
 * read in the exact moment that it is matching the compare register,
 * compare register, no interrupt will be generated.
 * no interrupt will be generated.
 *
 *
 * There is a suggested workaround and also the erratum can't strike if
 * There is a suggested workaround and also the erratum can't strike if
 * the compare interrupt isn't being used as the clock source device.
 * the compare interrupt isn't being used as the clock source device.
@@ -63,7 +63,7 @@ static inline int can_use_mips_counter(unsigned int prid)
	if (!__builtin_constant_p(cpu_has_counter))
	if (!__builtin_constant_p(cpu_has_counter))
		asm volatile("" : "=m" (cpu_data[0].options));
		asm volatile("" : "=m" (cpu_data[0].options));
	if (likely(cpu_has_counter &&
	if (likely(cpu_has_counter &&
		   prid >= (PRID_IMP_R4000 | PRID_REV_ENCODE_44(5, 0))))
		   prid > (PRID_IMP_R4000 | PRID_REV_ENCODE_44(15, 15))))
		return 1;
		return 1;
	else
	else
		return 0;
		return 0;
+3 −8
Original line number Original line Diff line number Diff line
@@ -141,15 +141,10 @@ static __init int cpu_has_mfc0_count_bug(void)
	case CPU_R4400MC:
	case CPU_R4400MC:
		/*
		/*
		 * The published errata for the R4400 up to 3.0 say the CPU
		 * The published errata for the R4400 up to 3.0 say the CPU
		 * has the mfc0 from count bug.
		 * has the mfc0 from count bug.  This seems the last version
		 * produced.
		 */
		 */
		if ((current_cpu_data.processor_id & 0xff) <= 0x30)
		return 1;
		return 1;

		/*
		 * we assume newer revisions are ok
		 */
		return 0;
	}
	}


	return 0;
	return 0;
+1 −2
Original line number Original line Diff line number Diff line
@@ -419,8 +419,7 @@ show_cpuinfo (struct seq_file *m, void *v)
		}
		}
		seq_printf(m, " (0x%02lx)\n", boot_cpu_data.pdc.capabilities);
		seq_printf(m, " (0x%02lx)\n", boot_cpu_data.pdc.capabilities);


		seq_printf(m, "model\t\t: %s\n"
		seq_printf(m, "model\t\t: %s - %s\n",
				"model name\t: %s\n",
				 boot_cpu_data.pdc.sys_model_name,
				 boot_cpu_data.pdc.sys_model_name,
				 cpuinfo->dev ?
				 cpuinfo->dev ?
				 cpuinfo->dev->name : "Unknown");
				 cpuinfo->dev->name : "Unknown");
+13 −0
Original line number Original line Diff line number Diff line
@@ -59,6 +59,7 @@ static DEFINE_PER_CPU_DECRYPTED(struct kvm_vcpu_pv_apf_data, apf_reason) __align
DEFINE_PER_CPU_DECRYPTED(struct kvm_steal_time, steal_time) __aligned(64) __visible;
DEFINE_PER_CPU_DECRYPTED(struct kvm_steal_time, steal_time) __aligned(64) __visible;
static int has_steal_clock = 0;
static int has_steal_clock = 0;


static int has_guest_poll = 0;
/*
/*
 * No need for any "IO delay" on KVM
 * No need for any "IO delay" on KVM
 */
 */
@@ -584,14 +585,26 @@ static int kvm_cpu_down_prepare(unsigned int cpu)


static int kvm_suspend(void)
static int kvm_suspend(void)
{
{
	u64 val = 0;

	kvm_guest_cpu_offline(false);
	kvm_guest_cpu_offline(false);


#ifdef CONFIG_ARCH_CPUIDLE_HALTPOLL
	if (kvm_para_has_feature(KVM_FEATURE_POLL_CONTROL))
		rdmsrl(MSR_KVM_POLL_CONTROL, val);
	has_guest_poll = !(val & 1);
#endif
	return 0;
	return 0;
}
}


static void kvm_resume(void)
static void kvm_resume(void)
{
{
	kvm_cpu_online(raw_smp_processor_id());
	kvm_cpu_online(raw_smp_processor_id());

#ifdef CONFIG_ARCH_CPUIDLE_HALTPOLL
	if (kvm_para_has_feature(KVM_FEATURE_POLL_CONTROL) && has_guest_poll)
		wrmsrl(MSR_KVM_POLL_CONTROL, 0);
#endif
}
}


static struct syscore_ops kvm_syscore_ops = {
static struct syscore_ops kvm_syscore_ops = {
Loading