public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>,
	Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	Bard Liao <yung-chuan.liao@linux.intel.com>,
	Kai Vehmanen <kai.vehmanen@linux.intel.com>,
	Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>,
	lgirdwood@gmail.com, daniel.baluta@nxp.com,
	sound-open-firmware@alsa-project.org
Subject: [PATCH AUTOSEL 6.19-6.12] ASoC: SOF: ipc4: Support for sending payload along with LARGE_CONFIG_GET
Date: Fri, 13 Feb 2026 19:59:41 -0500	[thread overview]
Message-ID: <20260214010245.3671907-101-sashal@kernel.org> (raw)
In-Reply-To: <20260214010245.3671907-1-sashal@kernel.org>

From: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>

[ Upstream commit d96cb0b86d6e8bbbbfa425771606f6c1aebc318e ]

There are message types when we would need to send a payload along with
the LARGE_CONFIG_GET message to provide information to the firmware on
what data is requested.
Such cases are the ALSA Kcontrol related messages when the high level
param_id tells only the type of the control, but the ID/index of the exact
control is specified in the payload area.

The caller must place the payload for TX before calling the set_get_data()
and this payload will be sent alongside with the message to the firmware.

The data area will be overwritten by the received data from firmware.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://patch.msgid.link/20251217143945.2667-7-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

Now I have a complete understanding. Here's my analysis:

---

## Comprehensive Analysis

### 1. COMMIT MESSAGE ANALYSIS

The subject is "ASoC: SOF: ipc4: Support for sending payload along with
LARGE_CONFIG_GET". The commit message says:

> "There are message types when we would need to send a payload along
with the LARGE_CONFIG_GET message to provide information to the firmware
on what data is requested."

The specific case it mentions is for ALSA Kcontrol-related messages
where the `param_id` only tells the type of control (switch or enum),
but the **ID/index of the exact control is specified in the payload
area**. Without this patch, the firmware **cannot know which control**
is being queried.

The message also says: "The data area will be overwritten by the
received data from firmware." This explains the `kmemdup` approach — the
TX payload needs to be saved before it's overwritten by the RX response.

### 2. CODE CHANGE ANALYSIS

**The Bug:**

In `sof_ipc4_refresh_generic_control()` (in `ipc4-control.c`, line
243-285), the caller:
1. Allocates `sof_ipc4_control_msg_payload`
2. Sets `data->id = cdata->index` and `data->num_elems =
   scontrol->num_channels`
3. Points `msg->data_ptr = data` and `msg->data_size = data_size`
4. Calls `sof_ipc4_set_get_kcontrol_data(scontrol, false, true)`
   (set=false → GET operation)

This flows into `sof_ipc4_set_get_data()`. In the **old code** (before
this patch), when `set=false` (GET), the code did:

```c
tx_size = 0;
rx_size = chunk_size;
```

This means `tx_size = 0` — **the payload containing `id` and `num_elems`
is NEVER sent to the firmware**. The firmware receives a
LARGE_CONFIG_GET request without knowing which specific switch/enum
control is being queried. For switch and enum controls (param_ids 200
and 201), the param_id alone is not enough — the firmware needs the
control ID in the payload to know which specific control to return data
for.

**The Fix:**

The patch adds a helper function `sof_ipc4_tx_payload_for_get_data()`
that checks if the message is for switch or enum controls (param_id 200
or 201). If so, it:

1. Uses `kmemdup()` to save the TX payload (because `data_ptr` will be
   overwritten by the response)
2. Sets `tx_size` and `tx.data_ptr` in the GET path so the payload IS
   sent
3. Properly frees the backup buffer on all code paths (error and
   success)

**What happens without the fix:**
When firmware sends a notification that a switch/enum control changed,
the `comp_data_dirty` flag is set. On the next `sof_ipc4_switch_get()`
or `sof_ipc4_enum_get()` call, `sof_ipc4_refresh_generic_control()`
tries to fetch the new control values from firmware, but **fails**
because the firmware can't identify which control to return data for (it
receives no payload with the GET request). This means ALSA mixer
applications (like `alsamixer`, PulseAudio/PipeWire) get **wrong or
stale control values** — a functional bug for real audio users.

### 3. CLASSIFICATION

This is a **functional bug fix**. Without it, reading switch/enum
kcontrol values from SOF firmware after a notification fails to return
correct data. The commit message frames it as "support for" but it is
really fixing broken functionality — the
`sof_ipc4_refresh_generic_control` function was already calling
`set_get_data` with a payload expecting it to be sent, but the lower
layer was silently discarding it.

It is NOT a new feature — the switch/enum control GET path already
exists (since v6.7). The payload was already being prepared by the
caller. The bug is that the IPC layer was not transmitting it.

### 4. SCOPE AND RISK ASSESSMENT

- **Files changed:** 1 (`sound/soc/sof/ipc4.c`)
- **Lines added:** ~50 (new helper function + modifications to existing
  function)
- **Complexity:** Moderate — adds a `kmemdup`/`kfree` for specific
  param_ids
- **Risk:** Low — the change only affects the GET path for switch/enum
  controls (param_ids 200, 201). All other GET operations continue to
  behave exactly as before (`sof_ipc4_tx_payload_for_get_data` returns
  false, no change in behavior).
- **Memory management:** The `kmemdup` buffer is properly freed on all
  paths (early error return, normal exit).
- **Self-contained:** Yes, the patch only modifies `ipc4.c` and adds an
  include for constants that already exist in the tree.

### 5. USER IMPACT

- **Who is affected:** All Intel SOF audio users with switch or enum
  kcontrols that receive firmware notifications (this is common for
  hardware-managed controls on modern Intel platforms like Meteor Lake
  and newer).
- **Symptom:** ALSA kcontrols report stale/wrong values after firmware
  changes them (e.g., mic privacy hardware switches, audio routing
  enums).
- **Severity:** Medium-high — incorrect audio control states affect real
  audio functionality.

### 6. STABILITY INDICATORS

- **4 Reviewed-by tags** from Intel SOF team members (Seppo Ingalsuo,
  Ranjani Sridharan, Bard Liao, Kai Vehmanen)
- **Accepted by Mark Brown** (ASoC subsystem maintainer)
- **Author is subsystem maintainer** (Peter Ujfalusi is a SOF
  maintainer)

### 7. DEPENDENCY CHECK

- Requires `SOF_IPC4_SWITCH_CONTROL_PARAM_ID` and
  `SOF_IPC4_ENUM_CONTROL_PARAM_ID` from `ipc4-topology.h` — these were
  added in v6.7 (commit `4a2fd607b7ca`)
- Requires `sof_ipc4_refresh_generic_control` which was added in v6.8
  (commit `f5eb9945cf9c`)
- The patch adds `#include "ipc4-topology.h"` to ipc4.c — this is a
  trivial include addition
- The `SOF_IPC4_MOD_EXT_MSG_PARAM_ID_MASK` is in
  `include/sound/sof/ipc4/header.h` (available in all relevant stable
  trees)
- **Self-contained:** The patch applies cleanly without other
  dependencies beyond what's already in stable trees ≥6.7

### 8. CONCERNS

- This is part of a larger patch series (patch 7 of N), but examining
  the code shows it is **self-contained** — it modifies only
  `sof_ipc4_set_get_data()` in `ipc4.c`, not the callers
- The commit message says "Support for sending payload" which sounds
  like a feature, but the analysis shows it's fixing an existing broken
  GET path for switch/enum controls
- The `sof_ipc4_tx_payload_for_get_data` helper uses a switch statement
  that currently only matches 2 param_ids — if future param_ids need
  this treatment, they'd need to be added, but that's expected for an
  explicitly enumerated list

### CONCLUSION

This commit fixes a real functional bug where ALSA switch and enum
kcontrol GET operations from SOF firmware fail to send the required
payload (control ID/index) to the firmware, causing the firmware to not
know which control is being queried. This results in incorrect/stale
control values being reported to userspace audio applications. The fix
is small (~50 lines in one file), self-contained, well-reviewed by 4
domain experts, low-risk (only affects 2 specific param_ids in the GET
path), and fixes a real user-visible audio issue. It applies cleanly to
stable trees v6.7+.

However, the critical concern is that this is labeled as "patch 7" of a
series, and the remaining patches in the series likely depend on this
behavior. Without knowing if the other patches add callers that depend
on this, the standalone value is limited to fixing
`sof_ipc4_refresh_generic_control()` which was already sending payloads
that were being silently dropped. The existing caller
(`sof_ipc4_refresh_generic_control`) does set `data->id` and
`data->num_elems` before calling the GET, expecting it to be sent — so
this IS fixing existing broken functionality, not just enabling future
functionality.

The fix addresses a real bug for SOF audio users and meets stable
criteria.

**YES**

 sound/soc/sof/ipc4.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 42 insertions(+), 2 deletions(-)

diff --git a/sound/soc/sof/ipc4.c b/sound/soc/sof/ipc4.c
index a4a090e6724a6..20d723f48fff0 100644
--- a/sound/soc/sof/ipc4.c
+++ b/sound/soc/sof/ipc4.c
@@ -15,6 +15,7 @@
 #include "sof-audio.h"
 #include "ipc4-fw-reg.h"
 #include "ipc4-priv.h"
+#include "ipc4-topology.h"
 #include "ipc4-telemetry.h"
 #include "ops.h"
 
@@ -433,6 +434,23 @@ static int sof_ipc4_tx_msg(struct snd_sof_dev *sdev, void *msg_data, size_t msg_
 	return ret;
 }
 
+static bool sof_ipc4_tx_payload_for_get_data(struct sof_ipc4_msg *tx)
+{
+	/*
+	 * Messages that require TX payload with LARGE_CONFIG_GET.
+	 * The TX payload is placed into the IPC message data section by caller,
+	 * which needs to be copied to temporary buffer since the received data
+	 * will overwrite it.
+	 */
+	switch (tx->extension & SOF_IPC4_MOD_EXT_MSG_PARAM_ID_MASK) {
+	case SOF_IPC4_MOD_EXT_MSG_PARAM_ID(SOF_IPC4_SWITCH_CONTROL_PARAM_ID):
+	case SOF_IPC4_MOD_EXT_MSG_PARAM_ID(SOF_IPC4_ENUM_CONTROL_PARAM_ID):
+		return true;
+	default:
+		return false;
+	}
+}
+
 static int sof_ipc4_set_get_data(struct snd_sof_dev *sdev, void *data,
 				 size_t payload_bytes, bool set)
 {
@@ -444,6 +462,8 @@ static int sof_ipc4_set_get_data(struct snd_sof_dev *sdev, void *data,
 	struct sof_ipc4_msg tx = {{ 0 }};
 	struct sof_ipc4_msg rx = {{ 0 }};
 	size_t remaining = payload_bytes;
+	void *tx_payload_for_get = NULL;
+	size_t tx_data_size = 0;
 	size_t offset = 0;
 	size_t chunk_size;
 	int ret;
@@ -469,10 +489,20 @@ static int sof_ipc4_set_get_data(struct snd_sof_dev *sdev, void *data,
 
 	tx.extension |= SOF_IPC4_MOD_EXT_MSG_FIRST_BLOCK(1);
 
+	if (sof_ipc4_tx_payload_for_get_data(&tx)) {
+		tx_data_size = min(ipc4_msg->data_size, payload_limit);
+		tx_payload_for_get = kmemdup(ipc4_msg->data_ptr, tx_data_size,
+					     GFP_KERNEL);
+		if (!tx_payload_for_get)
+			return -ENOMEM;
+	}
+
 	/* ensure the DSP is in D0i0 before sending IPC */
 	ret = snd_sof_dsp_set_power_state(sdev, &target_state);
-	if (ret < 0)
+	if (ret < 0) {
+		kfree(tx_payload_for_get);
 		return ret;
+	}
 
 	/* Serialise IPC TX */
 	mutex_lock(&sdev->ipc->tx_mutex);
@@ -506,7 +536,15 @@ static int sof_ipc4_set_get_data(struct snd_sof_dev *sdev, void *data,
 			rx.data_size = chunk_size;
 			rx.data_ptr = ipc4_msg->data_ptr + offset;
 
-			tx_size = 0;
+			if (tx_payload_for_get) {
+				tx_size = tx_data_size;
+				tx.data_size = tx_size;
+				tx.data_ptr = tx_payload_for_get;
+			} else {
+				tx_size = 0;
+				tx.data_size = 0;
+				tx.data_ptr = NULL;
+			}
 			rx_size = chunk_size;
 		}
 
@@ -553,6 +591,8 @@ static int sof_ipc4_set_get_data(struct snd_sof_dev *sdev, void *data,
 
 	mutex_unlock(&sdev->ipc->tx_mutex);
 
+	kfree(tx_payload_for_get);
+
 	return ret;
 }
 
-- 
2.51.0


  parent reply	other threads:[~2026-02-14  1:06 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-14  0:58 [PATCH AUTOSEL 6.19-6.12] media: ipu6: Close firmware streams on streaming enable failure Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] ASoC: wm8962: Add WM8962_ADC_MONOMIX to "3D Coefficients" mask Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] HID: elecom: Add support for ELECOM HUGE Plus M-HT1MRBK Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] drm/v3d: Set DMA segment size to avoid debug warnings Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] media: chips-media: wave5: Fix conditional in start_streaming Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] spi-geni-qcom: initialize mode related registers to 0 Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] HID: multitouch: add eGalaxTouch EXC3188 support Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] media: mt9m114: Avoid a reset low spike during probe() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] media: omap3isp: isp_video_mbus_to_pix/pix_to_mbus fixes Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] media: amphion: Clear last_buffer_dequeued flag for DEC_CMD_START Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/xe: Only toggle scheduling in TDR if GuC is running Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] spi: cadence-qspi: Try hard to disable the clocks Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] media: adv7180: fix frame interval in progressive mode Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] drm/amdkfd: Fix GART PTE for non-4K pagesize in svm_migrate_gart_map() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] HID: pidff: Do not set out of range trigger button Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] drm/amd/display: Fix DP no audio issue Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/panel-edp: Add AUO B140QAX01.H panel Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: avoid dig reg access timeout on usb4 link training fail Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] ASoC: fsl: imx-rpmsg: use snd_soc_find_dai_with_mutex() in probe Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.6] spi: spi-mem: Limit octal DTR constraints to octal DTR situations Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] drm/amd/pm: Fix null pointer dereference issue Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] drm/amd/display: Fix wrong x_pos and y_pos for cursor offload Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ASoC: sdw_utils: remove dai registered check Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ALSA: hda: controllers: intel: add support for Nova Lake Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] drm/atmel-hlcdc: fix use-after-free of drm_crtc_commit after release Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] spi: stm32: fix Overrun issue at < 8bpw Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] drm/atmel-hlcdc: fix memory leak from the atomic_destroy_state callback Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/amd/display: Revert "init dispclk from bootup clock for DCN315" Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/xe: Covert return of -EBUSY to -ENOMEM in VM bind IOCTL Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.6] spi-geni-qcom: use xfer->bits_per_word for can_dma() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] hwmon: (asus-ec-sensors) add Pro WS TRX50-SAGE WIFI A Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Disable FEC when powering down encoders Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ALSA: usb-audio: Add DSD support for iBasso DC04U Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amdgpu: fix NULL pointer issue buffer funcs Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] media: cx25821: Fix a resource leak in cx25821_dev_setup() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Add USB-C DP Alt Mode lane limitation in DCN32 Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm: renesas: rz-du: mipi_dsi: fix kernel panic when rebooting for some panels Sasha Levin
2026-02-16 14:52   ` Hugo Villeneuve
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/amdgpu: fix the calculation of RAS bad page number Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] HID: logitech-hidpp: Add support for Logitech K980 Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/xe/vm: Skip ufence association for CPU address mirror VMA during MAP Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] ASoC: codecs: max98390: Check return value of devm_gpiod_get_optional() in max98390_i2c_probe() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.6] media: v4l2-async: Fix error handling on steps after finding a match Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] PCI: Add Intel Nova Lake audio Device ID Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] media: rkisp1: Fix filter mode register configuration Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] hwmon: (nct6683) Add customer ID for ASRock Z590 Taichi Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ASoC: qcom: q6asm: drop DSP responses for closed data streams Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/amd/display: Guard FAMS2 configuration updates Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] drm/amdgpu: mark invalid records with U64_MAX Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Fix dsc eDP issue Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] media: ipu6: Ensure stream_mutex is acquired when dealing with node list Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/xe/ggtt: Use scope-based runtime pm Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] media: mt9m114: Return -EPROBE_DEFER if no endpoint is found Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amdgpu: Skip loading SDMA_RS64 in VF Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] drm/atmel-hlcdc: don't reject the commit if the src rect has fractional parts Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ALSA: hda/realtek: Add quirk for Minisforum V3 SE Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] ASoC: es8328: Add error unwind in resume Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ALSA: ctxfi: Add quirk for SE-300PCIE variant (160b:0102) Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] drm/display/dp_mst: Add protection against 0 vcpi Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/panel: Fix a possible null-pointer dereference in jdi_panel_dsi_remove() Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] media: uvcvideo: Create an ID namespace for streaming output terminals Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] hyper-v: Mark inner union in hv_kvp_exchg_msg_value as packed Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] media: ipu6: Always close firmware stream Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ALSA: hda/realtek - Enable mute LEDs on HP ENVY x360 15-es0xxx Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] media: omap3isp: set initial format Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/amdgpu/ras: Move ras data alloc before bad page check Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] drm/amdgpu: avoid a warning in timedout job handler Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ALSA: mixer: oss: Add card disconnect checkpoints Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] media: qcom: camss: Do not enable cpas fast ahb clock for SM8550 VFE lite Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] media: solo6x10: Check for out of bounds chip_id Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] HID: multitouch: add quirks for Lenovo Yoga Book 9i Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] drm/amdkfd: Relax size checking during queue buffer get Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Fix GFX12 family constant checks Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] ALSA: usb-audio: presonus s18xx uses little-endian Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] gpio: aspeed-sgpio: Change the macro to support deferred probe Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] drm: Account property blob allocations to memcg Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ALSA: hda/realtek: fix LG Gram Style 14 speakers Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ASoC: SOF: Intel: hda: Fix NULL pointer dereference Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.1] hwmon: (f71882fg) Add F81968 support Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] spi: cadence-quadspi: Parse DT for flashes with the rest of the DT parsing Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] drm/amdkfd: Handle GPU reset and drain retry fault race Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] spi: cadence-qspi: Fix probe error path and remove Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] virt: vbox: uapi: Mark inner unions in packed structs as packed Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/amd/display: Correct DSC padding accounting Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/amd/display: Revert "init dispclk from bootup clock for DCN314" Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/atmel-hlcdc: destroy properly the plane state in the reset callback Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/amdgpu: Refactor amdgpu_gem_va_ioctl for Handling Last Fence Update and Timeline Management v4 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] drm/amd/display: Ensure link output is disabled in backend reset for PLL_ON Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] hwmon: (emc2305) Fix a resource leak in emc2305_of_parse_pwm_child Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] modpost: Amend ppc64 save/restfpr symnames for -Os build Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] drm/amdgpu: add support for HDP IP version 6.1.1 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.1] HID: apple: Add "SONiX KN85 Keyboard" to the list of non-apple keyboards Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] gpu/panel-edp: add AUO panel entry for B140HAN06.4 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/amdgpu: validate user queue size constraints Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/amd/display: Correct FIXED_VS Link Rate Toggle Condition Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/amd/display: Fix mismatched unlock for DMUB HW lock in HWSS fast path Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] hwmon: (nct6775) Add ASUS Pro WS WRX90E-SAGE SE Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] hwmon: (nct7363) Fix a resource leak in nct7363_present_pwm_fanin Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] ASoC: soc-acpi-intel-ptl-match: use aggregated endpoint in ptl_rt722_l0_rt1320_l23 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] gpio: pca953x: Add support for TCAL6408 TCAL6416 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] media: chips-media: wave5: Process ready frames when CMD_STOP sent to Encoder Sasha Levin
2026-02-14  0:59 ` Sasha Levin [this message]
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] ALSA: hda/conexant: Add headset mic fix for MECHREVO Wujie 15X Pro Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] accel/amdxdna: Fix tail-pointer polling in mailbox_get_msg() Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/panel-edp: Add CSW MNE007QB3-1 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] cgroup/cpuset: Don't fail cpuset.cpus change in v2 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: only power down dig on phy endpoints Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] media: pvrusb2: fix URB leak in pvr2_send_request_ex Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] power: sequencing: fix missing state_lock in pwrseq_power_on() error path Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] media: dvb-core: dmxdevfilter must always flush bufs Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] media: mediatek: vcodec: Don't try to decode 422/444 VP9 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/panthor: Always wait after sending a command to an AS Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/panel: edp: add BOE NV140WUM-T08 panel Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ASoC: soc-acpi-intel-arl-match: change rt722 amp endpoint to aggregated Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/amd/display: Adjust PHY FSM transition to TX_EN-to-PLL_ON for TMDS on DCN35 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.15] ALSA: usb-audio: Add iface reset and delay quirk for AB13X USB Audio Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ALSA: hda/realtek: add HP Victus 16-e0xxx mute LED quirk Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/xe/xe3_lpg: Apply Wa_16028005424 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/ast: Swap framebuffer writes on big-endian machines Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] spi: geni-qcom: Fix abort sequence execution for serial engine errors Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-5.10] spi: spi-mem: Protect dirmap_create() with spi_mem_access_start/end Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-5.10] ASoC: wm8962: Don't report a microphone if it's shorted to ground on plug Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-6.1] ASoC: sunxi: sun50i-dmic: Add missing check for devm_regmap_init_mmio Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-6.12] hwmon: (dell-smm) Add support for Dell OptiPlex 7080 Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-6.18] drm/amd/display: Don't disable DPCD mst_en if sink connected Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-5.10] media: omap3isp: isppreview: always clamp in preview_try_format() Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19] ALSA: hda/realtek - Enable Mute LED for Lenovo platform Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Add signal type check for dcn401 get_phyd32clk_src Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260214010245.3671907-101-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=broonie@kernel.org \
    --cc=daniel.baluta@nxp.com \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=lgirdwood@gmail.com \
    --cc=patches@lists.linux.dev \
    --cc=peter.ujfalusi@linux.intel.com \
    --cc=ranjani.sridharan@linux.intel.com \
    --cc=seppo.ingalsuo@linux.intel.com \
    --cc=sound-open-firmware@alsa-project.org \
    --cc=stable@vger.kernel.org \
    --cc=yung-chuan.liao@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox