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

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

Merge 5.4.139 into android11-5.4-lts



Changes in 5.4.139
	btrfs: delete duplicated words + other fixes in comments
	btrfs: do not commit logs and transactions during link and rename operations
	btrfs: fix race causing unnecessary inode logging during link and rename
	btrfs: fix lost inode on log replay after mix of fsync, rename and inode eviction
	regulator: rt5033: Fix n_voltages settings for BUCK and LDO
	spi: stm32h7: fix full duplex irq handler handling
	ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits
	r8152: Fix potential PM refcount imbalance
	qed: fix possible unpaired spin_{un}lock_bh in _qed_mcp_cmd_and_union()
	net: Fix zero-copy head len calculation.
	nvme: fix nvme_setup_command metadata trace event
	ACPI: fix NULL pointer dereference
	Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled"
	firmware: arm_scmi: Ensure drivers provide a probe function
	firmware: arm_scmi: Add delayed response status check
	Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout"
	bpf: Inherit expanded/patched seen count from old aux data
	bpf: Do not mark insn as seen under speculative path verification
	bpf: Fix leakage under speculation on mispredicted branches
	bpf: Test_verifier, add alu32 bounds tracking tests
	bpf, selftests: Add a verifier test for assigning 32bit reg states to 64bit ones
	bpf, selftests: Adjust few selftest outcomes wrt unreachable code
	spi: mediatek: Fix fifo transfer
	Linux 5.4.139

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I4777fb2a78804bc8d710bd2f6c5b722086a41e32
parents 8ab681fd e350cd02
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 = 138
SUBLEVEL = 139
EXTRAVERSION =
NAME = Kleptomaniac Octopus

+3 −0
Original line number Diff line number Diff line
@@ -100,6 +100,9 @@ int scmi_driver_register(struct scmi_driver *driver, struct module *owner,
{
	int retval;

	if (!driver->probe)
		return -EINVAL;

	driver->driver.bus = &scmi_bus_type;
	driver->driver.name = driver->name;
	driver->driver.owner = owner;
+6 −2
Original line number Diff line number Diff line
@@ -515,8 +515,12 @@ int scmi_do_xfer_with_response(const struct scmi_handle *handle,
	xfer->async_done = &async_response;

	ret = scmi_do_xfer(handle, xfer);
	if (!ret && !wait_for_completion_timeout(xfer->async_done, timeout))
	if (!ret) {
		if (!wait_for_completion_timeout(xfer->async_done, timeout))
			ret = -ETIMEDOUT;
		else if (xfer->hdr.status)
			ret = scmi_to_linux_errno(xfer->hdr.status);
	}

	xfer->async_done = NULL;
	return ret;
+17 −6
Original line number Diff line number Diff line
@@ -498,14 +498,18 @@ _qed_mcp_cmd_and_union(struct qed_hwfn *p_hwfn,

		spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);

		if (!qed_mcp_has_pending_cmd(p_hwfn))
		if (!qed_mcp_has_pending_cmd(p_hwfn)) {
			spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
			break;
		}

		rc = qed_mcp_update_pending_cmd(p_hwfn, p_ptt);
		if (!rc)
		if (!rc) {
			spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
			break;
		else if (rc != -EAGAIN)
		} else if (rc != -EAGAIN) {
			goto err;
		}

		spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);

@@ -522,6 +526,8 @@ _qed_mcp_cmd_and_union(struct qed_hwfn *p_hwfn,
		return -EAGAIN;
	}

	spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);

	/* Send the mailbox command */
	qed_mcp_reread_offsets(p_hwfn, p_ptt);
	seq_num = ++p_hwfn->mcp_info->drv_mb_seq;
@@ -548,14 +554,18 @@ _qed_mcp_cmd_and_union(struct qed_hwfn *p_hwfn,

		spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);

		if (p_cmd_elem->b_is_completed)
		if (p_cmd_elem->b_is_completed) {
			spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
			break;
		}

		rc = qed_mcp_update_pending_cmd(p_hwfn, p_ptt);
		if (!rc)
		if (!rc) {
			spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
			break;
		else if (rc != -EAGAIN)
		} else if (rc != -EAGAIN) {
			goto err;
		}

		spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
	} while (++cnt < max_retries);
@@ -576,6 +586,7 @@ _qed_mcp_cmd_and_union(struct qed_hwfn *p_hwfn,
		return -EAGAIN;
	}

	spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);
	qed_mcp_cmd_del_elem(p_hwfn, p_cmd_elem);
	spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);

+2 −1
Original line number Diff line number Diff line
@@ -4317,9 +4317,10 @@ static int rtl8152_close(struct net_device *netdev)
		tp->rtl_ops.down(tp);

		mutex_unlock(&tp->control);
	}

	if (!res)
		usb_autopm_put_interface(tp->intf);
	}

	free_all_mem(tp);

Loading