Commit 0678f563 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'hid-for-linus-2025111901' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid

Pull HID fixes from Jiri Kosina:

 - memory leak fixes in hid-uclogic, hid-ntrig and hid-playstation
   drivers (Abdun Nihaal, Masami Ichikawa)

 - regression fix for playback handling in hid-pidff (Tomasz Pakuła)

 - initialization fix for some amd_sfh platforms (Mario Limonciello)

 - a few assorted device-specific ID additions and quirks

* tag 'hid-for-linus-2025111901' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
  HID: uclogic: Fix potential memory leak in error path
  HID: playstation: Fix memory leak in dualshock4_get_calibration_data()
  HID: pidff: Fix needs_playback check
  HID: corsair-void: Use %pe for printing PTR_ERR
  HID: elecom: Add support for ELECOM M-XT3URBK (018F)
  HID: hid-input: Extend Elan ignore battery quirk to USB
  HID: hid-ntrig: Prevent memory leak in ntrig_report_version()
  HID: amd_sfh: Stop sensor before starting
  HID: apple: Add SONiX AK870 PRO to non_apple_keyboards quirk list
  HID: lenovo: fixup Lenovo Yoga Slim 7x Keyboard rdesc
  HID: quirks: work around VID/PID conflict for 0x4c4a/0x4155
parents 2df79e4d a78eb69d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -194,6 +194,8 @@ static int amd_sfh1_1_hid_client_init(struct amd_mp2_dev *privdata)
		if (rc)
			goto cleanup;

		mp2_ops->stop(privdata, cl_data->sensor_idx[i]);
		amd_sfh_wait_for_response(privdata, cl_data->sensor_idx[i], DISABLE_SENSOR);
		writel(0, privdata->mmio + amd_get_p2c_val(privdata, 0));
		mp2_ops->start(privdata, info);
		status = amd_sfh_wait_for_response
+1 −0
Original line number Diff line number Diff line
@@ -355,6 +355,7 @@ static const struct apple_key_translation swapped_fn_leftctrl_keys[] = {

static const struct apple_non_apple_keyboard non_apple_keyboards[] = {
	{ "SONiX USB DEVICE" },
	{ "SONiX AK870 PRO" },
	{ "Keychron" },
	{ "AONE" },
	{ "GANSS" },
+2 −3
Original line number Diff line number Diff line
@@ -553,9 +553,8 @@ static void corsair_void_add_battery(struct corsair_void_drvdata *drvdata)

	if (IS_ERR(new_supply)) {
		hid_err(drvdata->hid_dev,
			"failed to register battery '%s' (reason: %ld)\n",
			drvdata->battery_desc.name,
			PTR_ERR(new_supply));
			"failed to register battery '%s' (reason: %pe)\n",
			drvdata->battery_desc.name, new_supply);
		return;
	}

+4 −2
Original line number Diff line number Diff line
@@ -75,7 +75,8 @@ static const __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,
		 */
		mouse_button_fixup(hdev, rdesc, *rsize, 20, 28, 22, 14, 8);
		break;
	case USB_DEVICE_ID_ELECOM_M_XT3URBK:
	case USB_DEVICE_ID_ELECOM_M_XT3URBK_00FB:
	case USB_DEVICE_ID_ELECOM_M_XT3URBK_018F:
	case USB_DEVICE_ID_ELECOM_M_XT3DRBK:
	case USB_DEVICE_ID_ELECOM_M_XT4DRBK:
		/*
@@ -119,7 +120,8 @@ static const __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,
static const struct hid_device_id elecom_devices[] = {
	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XGL20DLBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK_00FB) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK_018F) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
+5 −3
Original line number Diff line number Diff line
@@ -449,7 +449,8 @@
#define USB_VENDOR_ID_ELECOM		0x056e
#define USB_DEVICE_ID_ELECOM_BM084	0x0061
#define USB_DEVICE_ID_ELECOM_M_XGL20DLBK	0x00e6
#define USB_DEVICE_ID_ELECOM_M_XT3URBK	0x00fb
#define USB_DEVICE_ID_ELECOM_M_XT3URBK_00FB	0x00fb
#define USB_DEVICE_ID_ELECOM_M_XT3URBK_018F	0x018f
#define USB_DEVICE_ID_ELECOM_M_XT3DRBK	0x00fc
#define USB_DEVICE_ID_ELECOM_M_XT4DRBK	0x00fd
#define USB_DEVICE_ID_ELECOM_M_DT1URBK	0x00fe
@@ -718,6 +719,7 @@
#define USB_DEVICE_ID_ITE_LENOVO_YOGA2  0x8350
#define I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720	0x837a
#define USB_DEVICE_ID_ITE_LENOVO_YOGA900	0x8396
#define I2C_DEVICE_ID_ITE_LENOVO_YOGA_SLIM_7X_KEYBOARD	0x8987
#define USB_DEVICE_ID_ITE8595		0x8595
#define USB_DEVICE_ID_ITE_MEDION_E1239T	0xce50

@@ -1543,7 +1545,7 @@
#define USB_VENDOR_ID_SIGNOTEC			0x2133
#define USB_DEVICE_ID_SIGNOTEC_VIEWSONIC_PD1011	0x0018

#define USB_VENDOR_ID_SMARTLINKTECHNOLOGY              0x4c4a
#define USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155         0x4155
#define USB_VENDOR_ID_JIELI_SDK_DEFAULT		0x4c4a
#define USB_DEVICE_ID_JIELI_SDK_4155		0x4155

#endif
Loading