Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Philipp Jungkamp <p.jungkamp@gmx.net>,
	Hans de Goede <hdegoede@redhat.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 045/207] platform/x86: ideapad-laptop: support for more special keys in WMI
Date: Wed,  4 Jan 2023 17:05:03 +0100	[thread overview]
Message-ID: <20230104160513.339248124@linuxfoundation.org> (raw)
In-Reply-To: <20230104160511.905925875@linuxfoundation.org>

From: Philipp Jungkamp <p.jungkamp@gmx.net>

[ Upstream commit f32e02417614d3588a3954dab2a70320c43d1010 ]

The event data of the WMI event 0xD0, which is assumed to be the
fn_lock, is used to indicate several special keys on newer Yoga 7/9
laptops.

The notify_id 0xD0 is non-unique in the DSDT of the Yoga 9 14IAP7, this
causes wmi_get_event_data() to report wrong values.
Port the ideapad-laptop WMI code to the wmi bus infrastructure which
does not suffer from the shortcomings of wmi_get_event_data().

Signed-off-by: Philipp Jungkamp <p.jungkamp@gmx.net>
Link: https://lore.kernel.org/r/20221116110647.3438-1-p.jungkamp@gmx.net
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/platform/x86/ideapad-laptop.c | 261 ++++++++++++++++++++------
 1 file changed, 202 insertions(+), 59 deletions(-)

diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
index 125b4534424f..13e3ae731fd8 100644
--- a/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c
@@ -30,6 +30,7 @@
 #include <linux/seq_file.h>
 #include <linux/sysfs.h>
 #include <linux/types.h>
+#include <linux/wmi.h>
 
 #include <acpi/video.h>
 
@@ -37,14 +38,6 @@
 
 #define IDEAPAD_RFKILL_DEV_NUM	3
 
-#if IS_ENABLED(CONFIG_ACPI_WMI)
-static const char *const ideapad_wmi_fnesc_events[] = {
-	"26CAB2E5-5CF1-46AE-AAC3-4A12B6BA50E6", /* Yoga 3 */
-	"56322276-8493-4CE8-A783-98C991274F5E", /* Yoga 700 */
-	"8FC0DE0C-B4E4-43FD-B0F3-8871711C1294", /* Legion 5 */
-};
-#endif
-
 enum {
 	CFG_CAP_BT_BIT       = 16,
 	CFG_CAP_3G_BIT       = 17,
@@ -141,7 +134,6 @@ struct ideapad_private {
 	struct ideapad_dytc_priv *dytc;
 	struct dentry *debug;
 	unsigned long cfg;
-	const char *fnesc_guid;
 	struct {
 		bool conservation_mode    : 1;
 		bool dytc                 : 1;
@@ -182,6 +174,42 @@ MODULE_PARM_DESC(set_fn_lock_led,
 	"Enable driver based updates of the fn-lock LED on fn-lock changes. "
 	"If you need this please report this to: platform-driver-x86@vger.kernel.org");
 
+/*
+ * shared data
+ */
+
+static struct ideapad_private *ideapad_shared;
+static DEFINE_MUTEX(ideapad_shared_mutex);
+
+static int ideapad_shared_init(struct ideapad_private *priv)
+{
+	int ret;
+
+	mutex_lock(&ideapad_shared_mutex);
+
+	if (!ideapad_shared) {
+		ideapad_shared = priv;
+		ret = 0;
+	} else {
+		dev_warn(&priv->adev->dev, "found multiple platform devices\n");
+		ret = -EINVAL;
+	}
+
+	mutex_unlock(&ideapad_shared_mutex);
+
+	return ret;
+}
+
+static void ideapad_shared_exit(struct ideapad_private *priv)
+{
+	mutex_lock(&ideapad_shared_mutex);
+
+	if (ideapad_shared == priv)
+		ideapad_shared = NULL;
+
+	mutex_unlock(&ideapad_shared_mutex);
+}
+
 /*
  * ACPI Helpers
  */
@@ -1110,6 +1138,8 @@ static void ideapad_sysfs_exit(struct ideapad_private *priv)
 /*
  * input device
  */
+#define IDEAPAD_WMI_KEY 0x100
+
 static const struct key_entry ideapad_keymap[] = {
 	{ KE_KEY,   6, { KEY_SWITCHVIDEOMODE } },
 	{ KE_KEY,   7, { KEY_CAMERA } },
@@ -1123,6 +1153,28 @@ static const struct key_entry ideapad_keymap[] = {
 	{ KE_KEY,  66, { KEY_TOUCHPAD_OFF } },
 	{ KE_KEY,  67, { KEY_TOUCHPAD_ON } },
 	{ KE_KEY, 128, { KEY_ESC } },
+
+	/*
+	 * WMI keys
+	 */
+
+	/* FnLock (handled by the firmware) */
+	{ KE_IGNORE,	0x02 | IDEAPAD_WMI_KEY },
+	/* Esc (handled by the firmware) */
+	{ KE_IGNORE,	0x03 | IDEAPAD_WMI_KEY },
+	/* Customizable Lenovo Hotkey ("star" with 'S' inside) */
+	{ KE_KEY,	0x01 | IDEAPAD_WMI_KEY, { KEY_FAVORITES } },
+	/* Dark mode toggle */
+	{ KE_KEY,	0x13 | IDEAPAD_WMI_KEY, { KEY_PROG1 } },
+	/* Sound profile switch */
+	{ KE_KEY,	0x12 | IDEAPAD_WMI_KEY, { KEY_PROG2 } },
+	/* Lenovo Virtual Background application */
+	{ KE_KEY,	0x28 | IDEAPAD_WMI_KEY, { KEY_PROG3 } },
+	/* Lenovo Support */
+	{ KE_KEY,	0x27 | IDEAPAD_WMI_KEY, { KEY_HELP } },
+	/* Refresh Rate Toggle */
+	{ KE_KEY,	0x0a | IDEAPAD_WMI_KEY, { KEY_DISPLAYTOGGLE } },
+
 	{ KE_END },
 };
 
@@ -1526,33 +1578,6 @@ static void ideapad_acpi_notify(acpi_handle handle, u32 event, void *data)
 	}
 }
 
-#if IS_ENABLED(CONFIG_ACPI_WMI)
-static void ideapad_wmi_notify(u32 value, void *context)
-{
-	struct ideapad_private *priv = context;
-	unsigned long result;
-
-	switch (value) {
-	case 128:
-		ideapad_input_report(priv, value);
-		break;
-	case 208:
-		if (!priv->features.set_fn_lock_led)
-			break;
-
-		if (!eval_hals(priv->adev->handle, &result)) {
-			bool state = test_bit(HALS_FNLOCK_STATE_BIT, &result);
-
-			exec_sals(priv->adev->handle, state ? SALS_FNLOCK_ON : SALS_FNLOCK_OFF);
-		}
-		break;
-	default:
-		dev_info(&priv->platform_device->dev,
-			 "Unknown WMI event: %u\n", value);
-	}
-}
-#endif
-
 /* On some models we need to call exec_sals(SALS_FNLOCK_ON/OFF) to set the LED */
 static const struct dmi_system_id set_fn_lock_led_list[] = {
 	{
@@ -1643,6 +1668,118 @@ static void ideapad_check_features(struct ideapad_private *priv)
 	}
 }
 
+#if IS_ENABLED(CONFIG_ACPI_WMI)
+/*
+ * WMI driver
+ */
+enum ideapad_wmi_event_type {
+	IDEAPAD_WMI_EVENT_ESC,
+	IDEAPAD_WMI_EVENT_FN_KEYS,
+};
+
+struct ideapad_wmi_private {
+	enum ideapad_wmi_event_type event;
+};
+
+static int ideapad_wmi_probe(struct wmi_device *wdev, const void *context)
+{
+	struct ideapad_wmi_private *wpriv;
+
+	wpriv = devm_kzalloc(&wdev->dev, sizeof(*wpriv), GFP_KERNEL);
+	if (!wpriv)
+		return -ENOMEM;
+
+	*wpriv = *(const struct ideapad_wmi_private *)context;
+
+	dev_set_drvdata(&wdev->dev, wpriv);
+	return 0;
+}
+
+static void ideapad_wmi_notify(struct wmi_device *wdev, union acpi_object *data)
+{
+	struct ideapad_wmi_private *wpriv = dev_get_drvdata(&wdev->dev);
+	struct ideapad_private *priv;
+	unsigned long result;
+
+	mutex_lock(&ideapad_shared_mutex);
+
+	priv = ideapad_shared;
+	if (!priv)
+		goto unlock;
+
+	switch (wpriv->event) {
+	case IDEAPAD_WMI_EVENT_ESC:
+		ideapad_input_report(priv, 128);
+		break;
+	case IDEAPAD_WMI_EVENT_FN_KEYS:
+		if (priv->features.set_fn_lock_led &&
+		    !eval_hals(priv->adev->handle, &result)) {
+			bool state = test_bit(HALS_FNLOCK_STATE_BIT, &result);
+
+			exec_sals(priv->adev->handle, state ? SALS_FNLOCK_ON : SALS_FNLOCK_OFF);
+		}
+
+		if (data->type != ACPI_TYPE_INTEGER) {
+			dev_warn(&wdev->dev,
+				 "WMI event data is not an integer\n");
+			break;
+		}
+
+		dev_dbg(&wdev->dev, "WMI fn-key event: 0x%llx\n",
+			data->integer.value);
+
+		ideapad_input_report(priv,
+				     data->integer.value | IDEAPAD_WMI_KEY);
+
+		break;
+	}
+unlock:
+	mutex_unlock(&ideapad_shared_mutex);
+}
+
+static const struct ideapad_wmi_private ideapad_wmi_context_esc = {
+	.event = IDEAPAD_WMI_EVENT_ESC
+};
+
+static const struct ideapad_wmi_private ideapad_wmi_context_fn_keys = {
+	.event = IDEAPAD_WMI_EVENT_FN_KEYS
+};
+
+static const struct wmi_device_id ideapad_wmi_ids[] = {
+	{ "26CAB2E5-5CF1-46AE-AAC3-4A12B6BA50E6", &ideapad_wmi_context_esc }, /* Yoga 3 */
+	{ "56322276-8493-4CE8-A783-98C991274F5E", &ideapad_wmi_context_esc }, /* Yoga 700 */
+	{ "8FC0DE0C-B4E4-43FD-B0F3-8871711C1294", &ideapad_wmi_context_fn_keys }, /* Legion 5 */
+	{},
+};
+MODULE_DEVICE_TABLE(wmi, ideapad_wmi_ids);
+
+static struct wmi_driver ideapad_wmi_driver = {
+	.driver = {
+		.name = "ideapad_wmi",
+	},
+	.id_table = ideapad_wmi_ids,
+	.probe = ideapad_wmi_probe,
+	.notify = ideapad_wmi_notify,
+};
+
+static int ideapad_wmi_driver_register(void)
+{
+	return wmi_driver_register(&ideapad_wmi_driver);
+}
+
+static void ideapad_wmi_driver_unregister(void)
+{
+	return wmi_driver_unregister(&ideapad_wmi_driver);
+}
+
+#else
+static inline int ideapad_wmi_driver_register(void) { return 0; }
+static inline void ideapad_wmi_driver_unregister(void) { }
+#endif
+
+/*
+ * ACPI driver
+ */
 static int ideapad_acpi_add(struct platform_device *pdev)
 {
 	struct acpi_device *adev = ACPI_COMPANION(&pdev->dev);
@@ -1724,30 +1861,16 @@ static int ideapad_acpi_add(struct platform_device *pdev)
 		goto notification_failed;
 	}
 
-#if IS_ENABLED(CONFIG_ACPI_WMI)
-	for (i = 0; i < ARRAY_SIZE(ideapad_wmi_fnesc_events); i++) {
-		status = wmi_install_notify_handler(ideapad_wmi_fnesc_events[i],
-						    ideapad_wmi_notify, priv);
-		if (ACPI_SUCCESS(status)) {
-			priv->fnesc_guid = ideapad_wmi_fnesc_events[i];
-			break;
-		}
-	}
-
-	if (ACPI_FAILURE(status) && status != AE_NOT_EXIST) {
-		err = -EIO;
-		goto notification_failed_wmi;
-	}
-#endif
+	err = ideapad_shared_init(priv);
+	if (err)
+		goto shared_init_failed;
 
 	return 0;
 
-#if IS_ENABLED(CONFIG_ACPI_WMI)
-notification_failed_wmi:
+shared_init_failed:
 	acpi_remove_notify_handler(priv->adev->handle,
 				   ACPI_DEVICE_NOTIFY,
 				   ideapad_acpi_notify);
-#endif
 
 notification_failed:
 	ideapad_backlight_exit(priv);
@@ -1773,10 +1896,7 @@ static int ideapad_acpi_remove(struct platform_device *pdev)
 	struct ideapad_private *priv = dev_get_drvdata(&pdev->dev);
 	int i;
 
-#if IS_ENABLED(CONFIG_ACPI_WMI)
-	if (priv->fnesc_guid)
-		wmi_remove_notify_handler(priv->fnesc_guid);
-#endif
+	ideapad_shared_exit(priv);
 
 	acpi_remove_notify_handler(priv->adev->handle,
 				   ACPI_DEVICE_NOTIFY,
@@ -1828,7 +1948,30 @@ static struct platform_driver ideapad_acpi_driver = {
 	},
 };
 
-module_platform_driver(ideapad_acpi_driver);
+static int __init ideapad_laptop_init(void)
+{
+	int err;
+
+	err = ideapad_wmi_driver_register();
+	if (err)
+		return err;
+
+	err = platform_driver_register(&ideapad_acpi_driver);
+	if (err) {
+		ideapad_wmi_driver_unregister();
+		return err;
+	}
+
+	return 0;
+}
+module_init(ideapad_laptop_init)
+
+static void __exit ideapad_laptop_exit(void)
+{
+	ideapad_wmi_driver_unregister();
+	platform_driver_unregister(&ideapad_acpi_driver);
+}
+module_exit(ideapad_laptop_exit)
 
 MODULE_AUTHOR("David Woodhouse <dwmw2@infradead.org>");
 MODULE_DESCRIPTION("IdeaPad ACPI Extras");
-- 
2.35.1




  parent reply	other threads:[~2023-01-04 16:10 UTC|newest]

Thread overview: 222+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-04 16:04 [PATCH 6.1 000/207] 6.1.4-rc1 review Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 001/207] drm/amdgpu: skip MES for S0ix as well since its part of GFX Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 002/207] drm/amdgpu: skip mes self test after s0i3 resume for MES IP v11.0 Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 003/207] media: stv0288: use explicitly signed char Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 004/207] cxl/region: Fix memdev reuse check Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 005/207] arm64: dts: qcom: sc8280xp: fix UFS DMA coherency Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 006/207] arm64: Prohibit instrumentation on arch_stack_walk() Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 007/207] soc: qcom: Select REMAP_MMIO for LLCC driver Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 008/207] soc: qcom: Select REMAP_MMIO for ICC_BWMON driver Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 009/207] kest.pl: Fix grub2 menu handling for rebooting Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 010/207] ktest.pl minconfig: Unset configs instead of just removing them Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 011/207] jbd2: use the correct print format Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 012/207] perf/x86/intel/uncore: Disable I/O stacks to PMU mapping on ICX-D Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 013/207] perf/x86/intel/uncore: Clear attr_update properly Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 014/207] arm64: dts: qcom: sdm845-db845c: correct SPI2 pins drive strength Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 015/207] arm64: dts: qcom: sc8280xp: fix UFS reference clocks Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 016/207] mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 017/207] phy: qcom-qmp-combo: fix out-of-bounds clock access Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 018/207] drm/amd/pm: update SMU13.0.0 reported maximum shader clock Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 019/207] drm/amd/pm: correct SMU13.0.0 pstate profiling clock settings Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 020/207] btrfs: fix uninitialized parent in insert_state Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 021/207] btrfs: fix extent map use-after-free when handling missing device in read_one_chunk Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 022/207] btrfs: fix resolving backrefs for inline extent followed by prealloc Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 023/207] ARM: ux500: do not directly dereference __iomem Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 024/207] arm64: dts: qcom: sdm850-samsung-w737: correct I2C12 pins drive strength Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 025/207] random: use rejection sampling for uniform bounded random integers Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 026/207] x86/fpu/xstate: Fix XSTATE_WARN_ON() to emit relevant diagnostics Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 027/207] arm64: dts: qcom: sdm850-lenovo-yoga-c630: correct I2C12 pins drive strength Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 028/207] cxl/region: Fix missing probe failure Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 029/207] EDAC/mc_sysfs: Increase legacy channel support to 12 Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 030/207] selftests: Use optional USERCFLAGS and USERLDFLAGS Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 031/207] x86/MCE/AMD: Clear DFR errors found in THR handler Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 032/207] random: add helpers for random numbers with given floor or range Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 033/207] PM/devfreq: governor: Add a private governor_data for governor Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 034/207] cpufreq: Init completion before kobject_init_and_add() Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 035/207] ext2: unbugger ext2_empty_dir() Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 036/207] media: s5p-mfc: Fix to handle reference queue during finishing Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 037/207] media: s5p-mfc: Clear workbit to handle error condition Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 038/207] media: s5p-mfc: Fix in register read and write for H264 Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 039/207] bpf: Resolve fext program type when checking map compatibility Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 040/207] ALSA: patch_realtek: Fix Dell Inspiron Plus 16 Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 041/207] ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 042/207] platform/x86: thinkpad_acpi: Fix max_brightness of thinklight Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 043/207] platform/x86: ideapad-laptop: Revert "check for touchpad support in _CFG" Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 044/207] platform/x86: ideapad-laptop: Add new _CFG bit numbers for future use Greg Kroah-Hartman
2023-01-04 16:05 ` Greg Kroah-Hartman [this message]
2023-01-04 16:05 ` [PATCH 6.1 046/207] ACPI: video: Simplify __acpi_video_get_backlight_type() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 047/207] ACPI: video: Prefer native over vendor Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 048/207] platform/x86: ideapad-laptop: Refactor ideapad_sync_touchpad_state() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 049/207] platform/x86: ideapad-laptop: Do not send KEY_TOUCHPAD* events on probe / resume Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 050/207] platform/x86: ideapad-laptop: Only toggle ps2 aux port on/off on select models Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 051/207] platform/x86: ideapad-laptop: Send KEY_TOUCHPAD_TOGGLE on some models Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 052/207] platform/x86: ideapad-laptop: Stop writing VPCCMD_W_TOUCHPAD at probe time Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 053/207] platform/x86: intel-uncore-freq: add Emerald Rapids support Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 054/207] ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 055/207] platform/x86: x86-android-tablets: Add Medion Lifetab S10346 data Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 056/207] platform/x86: x86-android-tablets: Add Lenovo Yoga Tab 3 (YT3-X90F) charger + fuel-gauge data Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 057/207] platform/x86: x86-android-tablets: Add Advantech MICA-071 extra button Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 058/207] HID: Ignore HP Envy x360 eu0009nv stylus battery Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 059/207] ALSA: usb-audio: Add new quirk FIXED_RATE for JBL Quantum810 Wireless Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 060/207] fs: dlm: fix sock release if listen fails Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 061/207] fs: dlm: retry accept() until -EAGAIN or error returns Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 062/207] mptcp: netlink: fix some error return code Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 063/207] mptcp: remove MPTCP ifdef in TCP SYN cookies Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 064/207] mptcp: dedicated request sock for subflow in v6 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 065/207] mptcp: use proper req destructor for IPv6 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 066/207] dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 067/207] dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 068/207] dm thin: Use last transactions pmd->root when commit failed Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 069/207] dm thin: resume even if in FAIL mode Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 070/207] dm thin: Fix UAF in run_timer_softirq() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 071/207] dm integrity: Fix UAF in dm_integrity_dtr() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 072/207] dm clone: Fix UAF in clone_dtr() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 073/207] dm cache: Fix UAF in destroy() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 074/207] dm cache: set needs_check flag after aborting metadata Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 075/207] ata: ahci: fix enum constants for gcc-13 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 076/207] PCI/DOE: Fix maximum data object length miscalculation Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 077/207] tracing/hist: Fix out-of-bound write on action_data.var_ref_idx Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 078/207] perf/core: Call LSM hook after copying perf_event_attr Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 079/207] xtensa: add __umulsidi3 helper Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 080/207] of/kexec: Fix reading 32-bit "linux,initrd-{start,end}" values Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 081/207] ima: Fix hash dependency to correct algorithm Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 082/207] KVM: VMX: Resume guest immediately when injecting #GP on ECREATE Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 083/207] KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 084/207] KVM: x86: fix APICv/x2AVIC disabled when vm reboot by itself Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 085/207] KVM: nVMX: Properly expose ENABLE_USR_WAIT_PAUSE control to L1 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 086/207] x86/microcode/intel: Do not retry microcode reloading on the APs Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 087/207] ftrace/x86: Add back ftrace_expected for ftrace bug reports Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 088/207] x86/kprobes: Fix kprobes instruction boudary check with CONFIG_RETHUNK Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 089/207] x86/kprobes: Fix optprobe optimization " Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 090/207] tracing: Fix race where eprobes can be called before the event Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 091/207] powerpc/ftrace: fix syscall tracing on PPC64_ELF_ABI_V1 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 092/207] tracing: Fix complicated dependency of CONFIG_TRACER_MAX_TRACE Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 093/207] tracing/hist: Fix wrong return value in parse_action_params() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 094/207] tracing/probes: Handle system names with hyphens Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 095/207] tracing: Fix issue of missing one synthetic field Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 096/207] tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 097/207] staging: media: tegra-video: fix chan->mipi value on error Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 098/207] staging: media: tegra-video: fix device_node use after free Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 099/207] arm64: dts: mediatek: mt8195-demo: fix the memory size of node secmon Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 100/207] ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 101/207] media: dvb-core: Fix double free in dvb_register_device() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 102/207] media: dvb-core: Fix UAF due to refcount races at releasing Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 103/207] cifs: fix confusing debug message Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 104/207] cifs: fix missing display of three mount options Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 105/207] cifs: set correct tcon status after initial tree connect Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 106/207] cifs: set correct ipc " Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 107/207] cifs: set correct status of tcon ipc when reconnecting Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 108/207] ravb: Fix "failed to switch device to config mode" message during unbind Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 109/207] rtc: ds1347: fix value written to century register Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 110/207] drm/amdgpu: fix mmhub register base coding error Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 111/207] block: mq-deadline: Fix dd_finish_request() for zoned devices Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 112/207] block: mq-deadline: Do not break sequential write streams to zoned HDDs Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 113/207] md/bitmap: Fix bitmap chunk size overflow issues Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 114/207] efi: Add iMac Pro 2017 to uefi skip cert quirk Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 115/207] wifi: wilc1000: sdio: fix module autoloading Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 116/207] ASoC: jz4740-i2s: Handle independent FIFO flush bits Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 117/207] ipu3-imgu: Fix NULL pointer dereference in imgu_subdev_set_selection() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 118/207] ipmi: fix long wait in unload when IPMI disconnect Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 119/207] mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 120/207] ima: Fix a potential NULL pointer access in ima_restore_measurement_list Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 121/207] ipmi: fix use after free in _ipmi_destroy_user() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 122/207] mtd: spi-nor: gigadevice: gd25q256: replace gd25q256_default_init with gd25q256_post_bfpt Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 123/207] ima: Fix memory leak in __ima_inode_hash() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 124/207] um: virt-pci: Avoid GCC non-NULL warning Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 125/207] crypto: ccree,hisilicon - Fix dependencies to correct algorithm Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 126/207] PCI: Fix pci_device_is_present() for VFs by checking PF Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 127/207] PCI/sysfs: Fix double free in error path Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 128/207] RISC-V: kexec: Fix memory leak of fdt buffer Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 129/207] riscv: Fixup compile error with !MMU Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 130/207] RISC-V: kexec: Fix memory leak of elf header buffer Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 131/207] riscv: stacktrace: Fixup ftrace_graph_ret_addr retp argument Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 132/207] riscv: mm: notify remote harts about mmu cache updates Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 133/207] crypto: n2 - add missing hash statesize Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 134/207] crypto: ccp - Add support for TEE for PCI ID 0x14CA Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 135/207] driver core: Fix bus_type.match() error handling in __driver_attach() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 136/207] bus: mhi: host: Fix race between channel preparation and M0 event Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 138/207] phy: qcom-qmp-combo: fix sc8180x reset Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 139/207] iommu/amd: Fix ivrs_acpihid cmdline parsing code Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 140/207] iommu/amd: Fix ill-formed ivrs_ioapic, ivrs_hpet and ivrs_acpihid options Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 141/207] test_kprobes: Fix implicit declaration error of test_kprobes Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 142/207] hugetlb: really allocate vma lock for all sharable vmas Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 143/207] remoteproc: imx_dsp_rproc: Add mutex protection for workqueue Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 144/207] remoteproc: core: Do pm_relax when in RPROC_OFFLINE state Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 145/207] remoteproc: imx_rproc: Correct i.MX93 DRAM mapping Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 146/207] parisc: led: Fix potential null-ptr-deref in start_task() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 147/207] parisc: Drop locking in pdc console code Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 148/207] parisc: Fix locking in pdc_iodc_print() firmware call Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 149/207] parisc: Add missing FORCE prerequisites in Makefile Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 150/207] parisc: Drop duplicate kgdb_pdc console Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 151/207] parisc: Drop PMD_SHIFT from calculation in pgtable.h Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 152/207] device_cgroup: Roll back to original exceptions after copy failure Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 153/207] drm/connector: send hotplug uevent on connector cleanup Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 154/207] drm/vmwgfx: Validate the box size for the snooped cursor Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 155/207] drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 156/207] drm/etnaviv: move idle mapping reaping into separate function Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 157/207] drm/i915/dsi: fix VBT send packet port selection for dual link DSI Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 158/207] drm/ingenic: Fix missing platform_driver_unregister() call in ingenic_drm_init() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 159/207] drm/etnaviv: reap idle mapping if it doesnt match the softpin address Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 160/207] arm64: efi: Execute runtime services from a dedicated stack Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 161/207] ext4: silence the warning when evicting inode with dioread_nolock Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 162/207] ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 163/207] ext4: remove trailing newline from ext4_msg() message Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 164/207] ext4: correct inconsistent error msg in nojournal mode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 165/207] fs: ext4: initialize fsdata in pagecache_write() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 166/207] ext4: fix use-after-free in ext4_orphan_cleanup Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 167/207] ext4: fix undefined behavior in bit shift for ext4_check_flag_values Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 168/207] ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 169/207] ext4: add helper to check quota inums Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 170/207] ext4: fix bug_on in __es_tree_search caused by bad quota inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 171/207] ext4: fix reserved cluster accounting in __es_remove_extent() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 172/207] ext4: journal_path mount options should follow links Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 173/207] ext4: check and assert if marking an no_delete evicting inode dirty Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 174/207] ext4: fix bug_on in __es_tree_search caused by bad boot loader inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 175/207] ext4: dont allow journal inode to have encrypt flag Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 176/207] ext4: disable fast-commit of encrypted dir operations Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 177/207] ext4: fix leaking uninitialized memory in fast-commit journal Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 178/207] ext4: dont set up encryption key during jbd2 transaction Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 179/207] ext4: add missing validation of fast-commit record lengths Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 180/207] ext4: fix unaligned memory access in ext4_fc_reserve_space() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 181/207] ext4: fix off-by-one errors in fast-commit block filling Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 182/207] ext4: fix uninititialized value in ext4_evict_inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 183/207] ext4: init quota for old.inode in ext4_rename Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 184/207] ext4: dont fail GETFSUUID when the caller provides a long buffer Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 185/207] ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 186/207] ext4: fix corruption when online resizing a 1K bigalloc fs Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 187/207] ext4: fix error code return to user-space in ext4_get_branch() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 188/207] ext4: fix bad checksum after online resize Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 189/207] ext4: dont return EINVAL from GETFSUUID when reporting UUID length Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 190/207] ext4: fix corrupt backup group descriptors after online resize Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 191/207] ext4: avoid BUG_ON when creating xattrs Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 192/207] ext4: fix deadlock due to mbcache entry corruption Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 193/207] ext4: fix kernel BUG in ext4_write_inline_data_end() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 194/207] ext4: fix inode leak in ext4_xattr_inode_create() on an error path Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 195/207] ext4: initialize quota before expanding inode in setproject ioctl Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 196/207] ext4: avoid unaccounted block allocation when expanding inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 197/207] ext4: allocate extended attribute value in vmalloc area Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 198/207] drm/i915/ttm: consider CCS for backup objects Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 199/207] drm/amd/display: Add DCN314 display SG Support Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 200/207] drm/amdgpu: handle polaris10/11 overlap asics (v2) Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 201/207] drm/amdgpu: make display pinning more flexible (v2) Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 202/207] drm/i915: improve the catch-all evict to handle lock contention Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 203/207] drm/i915/migrate: Account for the reserved_space Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 204/207] drm/amd/pm: add missing SMU13.0.0 mm_dpm feature mapping Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 205/207] drm/amd/pm: add missing SMU13.0.7 " Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 206/207] drm/amd/pm: bump SMU13.0.0 driver_if header to version 0x34 Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 207/207] drm/amd/pm: correct the fan speed retrieving in PWM for some SMU13 asics Greg Kroah-Hartman
2023-01-04 19:46 ` [PATCH 6.1 000/207] 6.1.4-rc1 review Allen Pais
2023-01-04 21:04 ` Florian Fainelli
2023-01-04 22:18 ` Shuah Khan
2023-01-05  0:21 ` Guenter Roeck
2023-01-05  7:02 ` Jon Hunter
2023-01-05  7:19 ` Bagas Sanjaya
2023-01-05  8:41 ` Naresh Kamboju
2023-01-05 11:13 ` Sudip Mukherjee (Codethink)
2023-01-05 11:23 ` Ron Economos
2023-01-05 14:43 ` Justin Forbes
2023-01-05 19:34 ` Pavel Machek
2023-01-06  6:58   ` Greg Kroah-Hartman
2023-01-06 23:53     ` Tyler Hicks
2023-01-07  7:13       ` Thorsten Leemhuis
2023-01-06  0:04 ` Rudi Heitbaum

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=20230104160513.339248124@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=p.jungkamp@gmx.net \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /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