From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Terry Junge <linuxhid@cosmicgizmosystems.com>,
Jiri Kosina <jkosina@suse.com>
Subject: [PATCH 5.4 067/154] HID: hid-plantronics: Add mic mute mapping and generalize quirks
Date: Tue, 8 Apr 2025 12:50:08 +0200 [thread overview]
Message-ID: <20250408104817.445484651@linuxfoundation.org> (raw)
In-Reply-To: <20250408104815.295196624@linuxfoundation.org>
5.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Terry Junge <linuxhid@cosmicgizmosystems.com>
commit 9821709af892be9fbf4ee9a50b2f3e0604295ce0 upstream.
Add mapping for headset mute key events.
Remove PLT_QUIRK_DOUBLE_VOLUME_KEYS quirk and made it generic.
The quirk logic did not keep track of the actual previous key
so any key event occurring in less than or equal to 5ms was ignored.
Remove PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS quirk.
It had the same logic issue as the double key quirk and was actually
masking the as designed behavior of most of the headsets.
It's occurrence should be minimized with the ALSA control naming
quirk that is part of the patch set.
Signed-off-by: Terry Junge <linuxhid@cosmicgizmosystems.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/hid/hid-plantronics.c | 148 +++++++++++++++++++-----------------------
1 file changed, 69 insertions(+), 79 deletions(-)
--- a/drivers/hid/hid-plantronics.c
+++ b/drivers/hid/hid-plantronics.c
@@ -6,9 +6,6 @@
* Copyright (c) 2015-2018 Terry Junge <terry.junge@plantronics.com>
*/
-/*
- */
-
#include "hid-ids.h"
#include <linux/hid.h>
@@ -23,30 +20,28 @@
#define PLT_VOL_UP 0x00b1
#define PLT_VOL_DOWN 0x00b2
+#define PLT_MIC_MUTE 0x00b5
#define PLT1_VOL_UP (PLT_HID_1_0_PAGE | PLT_VOL_UP)
#define PLT1_VOL_DOWN (PLT_HID_1_0_PAGE | PLT_VOL_DOWN)
+#define PLT1_MIC_MUTE (PLT_HID_1_0_PAGE | PLT_MIC_MUTE)
#define PLT2_VOL_UP (PLT_HID_2_0_PAGE | PLT_VOL_UP)
#define PLT2_VOL_DOWN (PLT_HID_2_0_PAGE | PLT_VOL_DOWN)
+#define PLT2_MIC_MUTE (PLT_HID_2_0_PAGE | PLT_MIC_MUTE)
+#define HID_TELEPHONY_MUTE (HID_UP_TELEPHONY | 0x2f)
+#define HID_CONSUMER_MUTE (HID_UP_CONSUMER | 0xe2)
#define PLT_DA60 0xda60
#define PLT_BT300_MIN 0x0413
#define PLT_BT300_MAX 0x0418
-
-#define PLT_ALLOW_CONSUMER (field->application == HID_CP_CONSUMERCONTROL && \
- (usage->hid & HID_USAGE_PAGE) == HID_UP_CONSUMER)
-
-#define PLT_QUIRK_DOUBLE_VOLUME_KEYS BIT(0)
-#define PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS BIT(1)
-
#define PLT_DOUBLE_KEY_TIMEOUT 5 /* ms */
-#define PLT_FOLLOWED_OPPOSITE_KEY_TIMEOUT 220 /* ms */
struct plt_drv_data {
unsigned long device_type;
- unsigned long last_volume_key_ts;
- u32 quirks;
+ unsigned long last_key_ts;
+ unsigned long double_key_to;
+ __u16 last_key;
};
static int plantronics_input_mapping(struct hid_device *hdev,
@@ -58,34 +53,43 @@ static int plantronics_input_mapping(str
unsigned short mapped_key;
struct plt_drv_data *drv_data = hid_get_drvdata(hdev);
unsigned long plt_type = drv_data->device_type;
+ int allow_mute = usage->hid == HID_TELEPHONY_MUTE;
+ int allow_consumer = field->application == HID_CP_CONSUMERCONTROL &&
+ (usage->hid & HID_USAGE_PAGE) == HID_UP_CONSUMER &&
+ usage->hid != HID_CONSUMER_MUTE;
/* special case for PTT products */
if (field->application == HID_GD_JOYSTICK)
goto defaulted;
- /* handle volume up/down mapping */
/* non-standard types or multi-HID interfaces - plt_type is PID */
if (!(plt_type & HID_USAGE_PAGE)) {
switch (plt_type) {
case PLT_DA60:
- if (PLT_ALLOW_CONSUMER)
+ if (allow_consumer)
goto defaulted;
- goto ignored;
+ if (usage->hid == HID_CONSUMER_MUTE) {
+ mapped_key = KEY_MICMUTE;
+ goto mapped;
+ }
+ break;
default:
- if (PLT_ALLOW_CONSUMER)
+ if (allow_consumer || allow_mute)
goto defaulted;
}
+ goto ignored;
}
- /* handle standard types - plt_type is 0xffa0uuuu or 0xffa2uuuu */
- /* 'basic telephony compliant' - allow default consumer page map */
- else if ((plt_type & HID_USAGE) >= PLT_BASIC_TELEPHONY &&
- (plt_type & HID_USAGE) != PLT_BASIC_EXCEPTION) {
- if (PLT_ALLOW_CONSUMER)
- goto defaulted;
- }
- /* not 'basic telephony' - apply legacy mapping */
- /* only map if the field is in the device's primary vendor page */
- else if (!((field->application ^ plt_type) & HID_USAGE_PAGE)) {
+
+ /* handle standard consumer control mapping */
+ /* and standard telephony mic mute mapping */
+ if (allow_consumer || allow_mute)
+ goto defaulted;
+
+ /* handle vendor unique types - plt_type is 0xffa0uuuu or 0xffa2uuuu */
+ /* if not 'basic telephony compliant' - map vendor unique controls */
+ if (!((plt_type & HID_USAGE) >= PLT_BASIC_TELEPHONY &&
+ (plt_type & HID_USAGE) != PLT_BASIC_EXCEPTION) &&
+ !((field->application ^ plt_type) & HID_USAGE_PAGE))
switch (usage->hid) {
case PLT1_VOL_UP:
case PLT2_VOL_UP:
@@ -95,8 +99,11 @@ static int plantronics_input_mapping(str
case PLT2_VOL_DOWN:
mapped_key = KEY_VOLUMEDOWN;
goto mapped;
+ case PLT1_MIC_MUTE:
+ case PLT2_MIC_MUTE:
+ mapped_key = KEY_MICMUTE;
+ goto mapped;
}
- }
/*
* Future mapping of call control or other usages,
@@ -105,6 +112,8 @@ static int plantronics_input_mapping(str
*/
ignored:
+ hid_dbg(hdev, "usage: %08x (appl: %08x) - ignored\n",
+ usage->hid, field->application);
return -1;
defaulted:
@@ -123,38 +132,26 @@ static int plantronics_event(struct hid_
struct hid_usage *usage, __s32 value)
{
struct plt_drv_data *drv_data = hid_get_drvdata(hdev);
+ unsigned long prev_tsto, cur_ts;
+ __u16 prev_key, cur_key;
- if (drv_data->quirks & PLT_QUIRK_DOUBLE_VOLUME_KEYS) {
- unsigned long prev_ts, cur_ts;
-
- /* Usages are filtered in plantronics_usages. */
-
- if (!value) /* Handle key presses only. */
- return 0;
-
- prev_ts = drv_data->last_volume_key_ts;
- cur_ts = jiffies;
- if (jiffies_to_msecs(cur_ts - prev_ts) <= PLT_DOUBLE_KEY_TIMEOUT)
- return 1; /* Ignore the repeated key. */
-
- drv_data->last_volume_key_ts = cur_ts;
- }
- if (drv_data->quirks & PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS) {
- unsigned long prev_ts, cur_ts;
-
- /* Usages are filtered in plantronics_usages. */
-
- if (!value) /* Handle key presses only. */
- return 0;
+ /* Usages are filtered in plantronics_usages. */
- prev_ts = drv_data->last_volume_key_ts;
- cur_ts = jiffies;
- if (jiffies_to_msecs(cur_ts - prev_ts) <= PLT_FOLLOWED_OPPOSITE_KEY_TIMEOUT)
- return 1; /* Ignore the followed opposite volume key. */
-
- drv_data->last_volume_key_ts = cur_ts;
+ /* HZ too low for ms resolution - double key detection disabled */
+ /* or it is a key release - handle key presses only. */
+ if (!drv_data->double_key_to || !value)
+ return 0;
+
+ prev_tsto = drv_data->last_key_ts + drv_data->double_key_to;
+ cur_ts = drv_data->last_key_ts = jiffies;
+ prev_key = drv_data->last_key;
+ cur_key = drv_data->last_key = usage->code;
+
+ /* If the same key occurs in <= double_key_to -- ignore it */
+ if (prev_key == cur_key && time_before_eq(cur_ts, prev_tsto)) {
+ hid_dbg(hdev, "double key %d ignored\n", cur_key);
+ return 1; /* Ignore the repeated key. */
}
-
return 0;
}
@@ -196,12 +193,16 @@ static int plantronics_probe(struct hid_
ret = hid_parse(hdev);
if (ret) {
hid_err(hdev, "parse failed\n");
- goto err;
+ return ret;
}
drv_data->device_type = plantronics_device_type(hdev);
- drv_data->quirks = id->driver_data;
- drv_data->last_volume_key_ts = jiffies - msecs_to_jiffies(PLT_DOUBLE_KEY_TIMEOUT);
+ drv_data->double_key_to = msecs_to_jiffies(PLT_DOUBLE_KEY_TIMEOUT);
+ drv_data->last_key_ts = jiffies - drv_data->double_key_to;
+
+ /* if HZ does not allow ms resolution - disable double key detection */
+ if (drv_data->double_key_to < PLT_DOUBLE_KEY_TIMEOUT)
+ drv_data->double_key_to = 0;
hid_set_drvdata(hdev, drv_data);
@@ -210,29 +211,10 @@ static int plantronics_probe(struct hid_
if (ret)
hid_err(hdev, "hw start failed\n");
-err:
return ret;
}
static const struct hid_device_id plantronics_devices[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
- USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3210_SERIES),
- .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
- { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
- USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3220_SERIES),
- .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
- { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
- USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3215_SERIES),
- .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
- { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
- USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES),
- .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
- { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
- USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3325_SERIES),
- .driver_data = PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS },
- { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
- USB_DEVICE_ID_PLANTRONICS_ENCOREPRO_500_SERIES),
- .driver_data = PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS },
{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) },
{ }
};
@@ -241,6 +223,14 @@ MODULE_DEVICE_TABLE(hid, plantronics_dev
static const struct hid_usage_id plantronics_usages[] = {
{ HID_CP_VOLUMEUP, EV_KEY, HID_ANY_ID },
{ HID_CP_VOLUMEDOWN, EV_KEY, HID_ANY_ID },
+ { HID_TELEPHONY_MUTE, EV_KEY, HID_ANY_ID },
+ { HID_CONSUMER_MUTE, EV_KEY, HID_ANY_ID },
+ { PLT2_VOL_UP, EV_KEY, HID_ANY_ID },
+ { PLT2_VOL_DOWN, EV_KEY, HID_ANY_ID },
+ { PLT2_MIC_MUTE, EV_KEY, HID_ANY_ID },
+ { PLT1_VOL_UP, EV_KEY, HID_ANY_ID },
+ { PLT1_VOL_DOWN, EV_KEY, HID_ANY_ID },
+ { PLT1_MIC_MUTE, EV_KEY, HID_ANY_ID },
{ HID_TERMINATOR, HID_TERMINATOR, HID_TERMINATOR }
};
next prev parent reply other threads:[~2025-04-08 12:05 UTC|newest]
Thread overview: 160+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-08 10:49 [PATCH 5.4 000/154] 5.4.292-rc1 review Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 001/154] vlan: fix memory leak in vlan_newlink() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 002/154] clockevents/drivers/i8253: Fix stop sequence for timer 0 Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 003/154] sched/isolation: Prevent boot crash when the boot CPU is nohz_full Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 004/154] Revert "sctp: sysctl: cookie_hmac_alg: avoid using current->nsproxy" Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 005/154] Revert "sctp: sysctl: auth_enable: " Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 006/154] sctp: sysctl: cookie_hmac_alg: avoid using current->nsproxy Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 007/154] sctp: sysctl: auth_enable: " Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 008/154] pinctrl: bcm281xx: Fix incorrect regmap max_registers value Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 009/154] netpoll: Fix use correct return type for ndo_start_xmit() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 010/154] netpoll: remove dev argument from netpoll_send_skb_on_dev() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 011/154] netpoll: move netpoll_send_skb() out of line Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 012/154] netpoll: netpoll_send_skb() returns transmit status Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 013/154] netpoll: hold rcu read lock in __netpoll_send_skb() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 014/154] drivers/hv: Replace binary semaphore with mutex Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 015/154] Drivers: hv: vmbus: Dont release fb_mmio resource in vmbus_free_mmio() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 016/154] netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 017/154] ipvs: prevent integer overflow in do_ip_vs_get_ctl() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 018/154] net_sched: Prevent creation of classes with TC_H_ROOT Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 019/154] netfilter: nft_exthdr: fix offset with ipv4_find_option() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 020/154] net/mlx5e: Prevent bridge link show failure for non-eswitch-allowed devices Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 021/154] nvme-fc: go straight to connecting state when initializing Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 022/154] hrtimers: Mark is_migration_base() with __always_inline Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 023/154] powercap: call put_device() on an error path in powercap_register_control_type() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 024/154] iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 025/154] scsi: qla1280: Fix kernel oops when debug level > 2 Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 026/154] ACPI: resource: IRQ override for Eluktronics MECH-17 Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 027/154] HID: intel-ish-hid: fix the length of MNG_SYNC_FW_CLOCK in doorbell Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 028/154] HID: ignore non-functional sensor in HP 5MP Camera Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 029/154] s390/cio: Fix CHPID "configure" attribute caching Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 030/154] ASoC: rsnd: dont indicate warning on rsnd_kctrl_accept_runtime() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 031/154] nvmet-rdma: recheck queue state is LIVE in state lock in recv done Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 032/154] sctp: Fix undefined behavior in left shift operation Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 033/154] nvme: only allow entering LIVE from CONNECTING state Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 034/154] fuse: dont truncate cached, mutated symlink Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 035/154] x86/irq: Define trace events conditionally Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 036/154] drm/nouveau: Do not override forced connector status Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 037/154] block: fix kmem_cache of name bio-108 already exists Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 038/154] USB: serial: ftdi_sio: add support for Altera USB Blaster 3 Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 039/154] USB: serial: option: add Telit Cinterion FE990B compositions Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 040/154] USB: serial: option: fix Telit Cinterion FE990A name Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 041/154] USB: serial: option: match on interface class for Telit FN990B Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 042/154] x86/microcode/AMD: Fix out-of-bounds on systems with CPU-less NUMA nodes Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 043/154] drm/atomic: Filter out redundant DPMS calls Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 044/154] drm/amd/display: Assign normalized_pix_clk when color depth = 14 Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 045/154] qlcnic: fix memory leak issues in qlcnic_sriov_common.c Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 046/154] drm/gma500: Add NULL check for pci_gfx_root in mid_get_vbt_data() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 047/154] ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 048/154] i2c: ali1535: Fix an error handling path in ali1535_probe() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 049/154] i2c: ali15x3: Fix an error handling path in ali15x3_probe() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 050/154] i2c: sis630: Fix an error handling path in sis630_probe() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 051/154] firmware: imx-scu: fix OF node leak in .probe() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 052/154] xfrm_output: Force software GSO only in tunnel mode Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 053/154] RDMA/bnxt_re: Avoid clearing VLAN_ID mask in modify qp path Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 054/154] RDMA/hns: Fix wrong value of max_sge_rd Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 055/154] Bluetooth: Fix error code in chan_alloc_skb_cb() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 056/154] ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 057/154] ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.4 058/154] net: atm: fix use after free in lec_send() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 059/154] net/neighbor: add missing policy for NDTPA_QUEUE_LENBYTES Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 060/154] i2c: omap: fix IRQ storms Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 061/154] drm/v3d: Dont run jobs that have errors flagged in its fence Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 062/154] mmc: atmel-mci: Add missing clk_disable_unprepare() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 063/154] ARM: shmobile: smp: Enforce shmobile_smp_* alignment Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 064/154] batman-adv: Ignore own maximum aggregation size during RX Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 065/154] drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 066/154] ALSA: usb-audio: Add quirk for Plantronics headsets to fix control names Greg Kroah-Hartman
2025-04-08 10:50 ` Greg Kroah-Hartman [this message]
2025-04-08 10:50 ` [PATCH 5.4 068/154] atm: Fix NULL pointer dereference Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 069/154] ARM: 9350/1: fault: Implement copy_from_kernel_nofault_allowed() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 070/154] ARM: 9351/1: fault: Add "cut here" line for prefetch aborts Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 071/154] ARM: Remove address checking for MMUless devices Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 072/154] netfilter: socket: Lookup orig tuple for IPv6 SNAT Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 073/154] counter: stm32-lptimer-cnt: fix error handling when enabling Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 074/154] tty: serial: 8250: Add some more device IDs Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 075/154] net: usb: qmi_wwan: add Telit Cinterion FN990B composition Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 076/154] net: usb: qmi_wwan: add Telit Cinterion FE990B composition Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 077/154] net: usb: usbnet: restore usb%d name exception for local mac addresses Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 078/154] memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 079/154] serial: 8250_dma: terminate correct DMA in tx_dma_flush() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 080/154] x86/mm/pat: cpa-test: fix length for CPA_ARRAY test Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 081/154] cpufreq: governor: Fix negative idle_time handling in dbs_update() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 082/154] x86/fpu: Avoid copying dynamic FP state from init_task in arch_dup_task_struct() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 083/154] x86/platform: Only allow CONFIG_EISA for 32-bit Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 084/154] selinux: Chain up tool resolving errors in install_policy.sh Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 085/154] EDAC/ie31200: Fix the size of EDAC_MC_LAYER_CHIP_SELECT layer Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 086/154] EDAC/ie31200: Fix the DIMM size mask for several SoCs Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 087/154] EDAC/ie31200: Fix the error path order of ie31200_init() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 088/154] thermal: int340x: Add NULL check for adev Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 089/154] PM: sleep: Fix handling devices with direct_complete set on errors Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 090/154] lockdep: Dont disable interrupts on RT in disable_irq_nosync_lockdep.*() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 091/154] perf/ring_buffer: Allow the EPOLLRDNORM flag for poll Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 092/154] ALSA: hda/realtek: Always honor no_shutup_pins Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 093/154] drm/mediatek: mtk_hdmi: Fix typo for aud_sampe_size member Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 094/154] PCI/ASPM: Fix link state exit during switch upstream function removal Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 095/154] PCI/portdrv: Only disable pciehp interrupts early when needed Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 096/154] PCI: Remove stray put_device() in pci_register_host_bridge() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 097/154] PCI: pciehp: Dont enable HPIE when resuming in poll mode Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 098/154] fbdev: au1100fb: Move a variable assignment behind a null pointer check Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 099/154] mdacon: rework dependency list Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 100/154] fbdev: sm501fb: Add some geometry checks Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 101/154] clk: amlogic: gxbb: drop incorrect flag on 32k clock Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 102/154] bpf: Use preempt_count() directly in bpf_send_signal_common() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 103/154] lib: 842: Improve error handling in sw842_compress() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 104/154] pinctrl: renesas: rza2: Fix missing of_node_put() call Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 105/154] clk: rockchip: rk3328: fix wrong clk_ref_usb3otg parent Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 106/154] IB/mad: Check available slots before posting receive WRs Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 107/154] clk: amlogic: g12b: fix cluster A parent data Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 108/154] clk: amlogic: gxbb: drop non existing 32k clock parent Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 109/154] clk: amlogic: g12a: fix mmc A peripheral clock Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 110/154] x86/entry: Fix ORC unwinder for PUSH_REGS with save_ret=1 Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 111/154] power: supply: max77693: Fix wrong conversion of charge input threshold value Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 112/154] RDMA/mlx5: Fix mlx5_poll_one() cur_qp update flow Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 113/154] mfd: sm501: Switch to BIT() to mitigate integer overflows Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 114/154] x86/dumpstack: Fix inaccurate unwinding from exception stacks due to misplaced assignment Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 115/154] isofs: fix KMSAN uninit-value bug in do_isofs_readdir() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 116/154] coresight: catu: Fix number of pages while using 64k pages Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 117/154] iio: accel: mma8452: Ensure error return on failure to matching oversampling ratio Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.4 118/154] perf units: Fix insufficient array space Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 119/154] kexec: initialize ELF lowest address to ULONG_MAX Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 120/154] ocfs2: validate l_tree_depth to avoid out-of-bounds access Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 121/154] perf python: Fixup description of sample.id event member Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 122/154] perf python: Decrement the refcount of just created event on failure Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 123/154] perf python: Check if there is space to copy all the event Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 124/154] fs/procfs: fix the comment above proc_pid_wchan() Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 125/154] objtool, media: dib8000: Prevent divide-by-zero in dib8000_set_dds() Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 126/154] ring-buffer: Fix bytes_dropped calculation issue Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 127/154] octeontx2-af: Fix mbox INTR handler when num VFs > 64 Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 128/154] sched/smt: Always inline sched_smt_active() Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 129/154] wifi: iwlwifi: fw: allocate chained SG tables for dump Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 130/154] affs: generate OFS sequence numbers starting at 1 Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 131/154] affs: dont write overlarge OFS data block size fields Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 132/154] sched/deadline: Use online cpus for validating runtime Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 133/154] locking/semaphore: Use wake_q to wake up processes outside lock critical section Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 134/154] can: statistics: use atomic access in hot path Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 135/154] hwmon: (nct6775-core) Fix out of bounds access for NCT679{8,9} Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 136/154] spufs: fix a leak on spufs_new_file() failure Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 137/154] spufs: fix a leak in spufs_create_context() Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 138/154] ntb_hw_switchtec: Fix shift-out-of-bounds in switchtec_ntb_mw_set_trans Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 139/154] ntb: intel: Fix using link status DBs Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 140/154] netlabel: Fix NULL pointer exception caused by CALIPSO on IPv4 sockets Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 141/154] net_sched: skbprio: Remove overly strict queue assertions Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 142/154] vsock: avoid timeout during connect() if the socket is closing Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 143/154] ipv6: fix omitted netlink attributes when using RTEXT_FILTER_SKIP_STATS Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 144/154] net: dsa: mv88e6xxx: propperly shutdown PPU re-enable timer on destroy Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 145/154] arcnet: Add NULL check in com20020pci_probe() Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 146/154] can: flexcan: only change CAN state when link up in system PM Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 147/154] ntb_perf: Delete duplicate dmaengine_unmap_put() call in perf_copy_chunk() Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 148/154] x86/tsc: Always save/restore TSC sched_clock() on suspend/resume Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 149/154] x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 150/154] ACPI: resource: Skip IRQ override on ASUS Vivobook 14 X1404VAP Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 151/154] mmc: sdhci-pxav3: set NEED_RSP_BUSY capability Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 152/154] tracing: Fix use-after-free in print_graph_function_flags during tracer switching Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 153/154] jfs: fix slab-out-of-bounds read in ea_get() Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.4 154/154] jfs: add index corruption check to DT_GETPAGE() Greg Kroah-Hartman
2025-04-08 20:31 ` [PATCH 5.4 000/154] 5.4.292-rc1 review Florian Fainelli
2025-04-09 8:00 ` Jon Hunter
2025-04-09 11:00 ` Naresh Kamboju
2025-04-09 12:31 ` [External] : " ALOK TIWARI
2025-04-09 18:54 ` Shuah Khan
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=20250408104817.445484651@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=jkosina@suse.com \
--cc=linuxhid@cosmicgizmosystems.com \
--cc=patches@lists.linux.dev \
--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