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

Commit 92a0ce5d authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 5.4.228 into android11-5.4-lts



Changes in 5.4.228
	net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head
	x86/smpboot: Move rcu_cpu_starting() earlier
	mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page
	block: unhash blkdev part inode when the part is deleted
	nfp: fix use-after-free in area_cache_get()
	ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()
	pinctrl: meditatek: Startup with the IRQs disabled
	can: sja1000: fix size of OCR_MODE_MASK define
	can: mcba_usb: Fix termination command argument
	ASoC: ops: Correct bounds check for second channel on SX controls
	Linux 5.4.228

Change-Id: I37ed67e2d32e9ca369934f343368e6410630cf64
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 6429852a 851c2b5f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 227
SUBLEVEL = 228
EXTRAVERSION =
NAME = Kleptomaniac Octopus

+0 −2
Original line number Diff line number Diff line
@@ -794,8 +794,6 @@ void mtrr_ap_init(void)
	if (!use_intel() || mtrr_aps_delayed_init)
		return;

	rcu_cpu_starting(smp_processor_id());

	/*
	 * Ideally we should hold mtrr_mutex here to avoid mtrr entries
	 * changed, but this routine will be called in cpu boot time,
+1 −0
Original line number Diff line number Diff line
@@ -224,6 +224,7 @@ static void notrace start_secondary(void *unused)
#endif
	load_current_idt();
	cpu_init();
	rcu_cpu_starting(raw_smp_processor_id());
	x86_cpuinit.early_percpu_clock_init();
	preempt_disable();
	smp_callin();
+7 −0
Original line number Diff line number Diff line
@@ -272,6 +272,7 @@ void delete_partition(struct gendisk *disk, int partno)
	struct disk_part_tbl *ptbl =
		rcu_dereference_protected(disk->part_tbl, 1);
	struct hd_struct *part;
	struct block_device *bdev;

	if (partno >= ptbl->len)
		return;
@@ -292,6 +293,12 @@ void delete_partition(struct gendisk *disk, int partno)
	 * "in-use" until we really free the gendisk.
	 */
	blk_invalidate_devt(part_devt(part));

	bdev = bdget(part_devt(part));
	if (bdev) {
		remove_inode_hash(bdev->bd_inode);
		bdput(bdev);
	}
	hd_struct_kill(part);
}

+7 −3
Original line number Diff line number Diff line
@@ -47,6 +47,10 @@
#define MCBA_VER_REQ_USB 1
#define MCBA_VER_REQ_CAN 2

/* Drive the CAN_RES signal LOW "0" to activate R24 and R25 */
#define MCBA_VER_TERMINATION_ON 0
#define MCBA_VER_TERMINATION_OFF 1

#define MCBA_SIDL_EXID_MASK 0x8
#define MCBA_DLC_MASK 0xf
#define MCBA_DLC_RTR_MASK 0x40
@@ -469,7 +473,7 @@ static void mcba_usb_process_ka_usb(struct mcba_priv *priv,
		priv->usb_ka_first_pass = false;
	}

	if (msg->termination_state)
	if (msg->termination_state == MCBA_VER_TERMINATION_ON)
		priv->can.termination = MCBA_TERMINATION_ENABLED;
	else
		priv->can.termination = MCBA_TERMINATION_DISABLED;
@@ -789,9 +793,9 @@ static int mcba_set_termination(struct net_device *netdev, u16 term)
	};

	if (term == MCBA_TERMINATION_ENABLED)
		usb_msg.termination = 1;
		usb_msg.termination = MCBA_VER_TERMINATION_ON;
	else
		usb_msg.termination = 0;
		usb_msg.termination = MCBA_VER_TERMINATION_OFF;

	mcba_usb_xmit_cmd(priv, (struct mcba_usb_msg *)&usb_msg);

Loading