[PATCH] HID: quirks: ignore non-functional sensor in HP 5MP Camera

Chia-Lin Kao (AceLan) posted 1 patch 11 months ago
drivers/hid/hid-ids.h    | 1 +
drivers/hid/hid-quirks.c | 1 +
2 files changed, 2 insertions(+)
[PATCH] HID: quirks: ignore non-functional sensor in HP 5MP Camera
Posted by Chia-Lin Kao (AceLan) 11 months ago
The HP 5MP Camera (USB ID 0408:5473) reports a HID sensor interface that
is not actually implemented. Attempting to access this non-functional
sensor via iio_info causes system hangs as runtime PM tries to wake up
an unresponsive sensor.

  [453] hid-sensor-hub 0003:0408:5473.0003: Report latency attributes: ffffffff:ffffffff
  [453] hid-sensor-hub 0003:0408:5473.0003: common attributes: 5:1, 2:1, 3:1 ffffffff:ffffffff

Add this device to the HID ignore list since the sensor interface is
non-functional by design and should not be exposed to userspace.

Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
---
 drivers/hid/hid-ids.h    | 1 +
 drivers/hid/hid-quirks.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 1f47fda809b9..c5b57e857e77 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -1094,6 +1094,7 @@
 #define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001		0x3001
 #define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3003		0x3003
 #define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008		0x3008
+#define USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473		0x5473
 
 #define I2C_VENDOR_ID_RAYDIUM		0x2386
 #define I2C_PRODUCT_ID_RAYDIUM_4B33	0x4b33
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index e0bbf0c6345d..5d7a418ccdbe 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -891,6 +891,7 @@ static const struct hid_device_id hid_ignore_list[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_DPAD) },
 #endif
 	{ HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) },
 	{ }
 };
 
-- 
2.43.0
Re: [PATCH] HID: quirks: ignore non-functional sensor in HP 5MP Camera
Posted by Jiri Kosina 10 months, 2 weeks ago
On Wed, 15 Jan 2025, Chia-Lin Kao (AceLan) wrote:

> The HP 5MP Camera (USB ID 0408:5473) reports a HID sensor interface that
> is not actually implemented. Attempting to access this non-functional
> sensor via iio_info causes system hangs as runtime PM tries to wake up
> an unresponsive sensor.
> 
>   [453] hid-sensor-hub 0003:0408:5473.0003: Report latency attributes: ffffffff:ffffffff
>   [453] hid-sensor-hub 0003:0408:5473.0003: common attributes: 5:1, 2:1, 3:1 ffffffff:ffffffff
> 
> Add this device to the HID ignore list since the sensor interface is
> non-functional by design and should not be exposed to userspace.
> 
> Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>

Applied, thank you.

-- 
Jiri Kosina
SUSE Labs
Re: [PATCH] HID: quirks: ignore non-functional sensor in HP 5MP Camera
Posted by srinivas pandruvada 11 months ago
One minor comment:
"HID: quirks: ignore non-functional sensor in HP 5MP Camera"
For this
The format is  not same as other commits in this file. There is no
"quirks". But not sure if Jiri cares.

On Wed, 2025-01-15 at 15:00 +0800, Chia-Lin Kao (AceLan) wrote:
> The HP 5MP Camera (USB ID 0408:5473)
>  reports a HID sensor interface that
> is not actually implemented. Attempting to access this non-functional
> sensor via iio_info causes system hangs as runtime PM tries to wake
> up
> an unresponsive sensor.
> 
>   [453] hid-sensor-hub 0003:0408:5473.0003: Report latency
> attributes: ffffffff:ffffffff
>   [453] hid-sensor-hub 0003:0408:5473.0003: common attributes: 5:1,
> 2:1, 3:1 ffffffff:ffffffff
> 
> Add this device to the HID ignore list since the sensor interface is
> non-functional by design and should not be exposed to userspace.
> 
> Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>

> ---
>  drivers/hid/hid-ids.h    | 1 +
>  drivers/hid/hid-quirks.c | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index 1f47fda809b9..c5b57e857e77 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -1094,6 +1094,7 @@
>  #define
> USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001		0x3001
>  #define
> USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3003		0x3003
>  #define
> USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008		0x3008
> +#define
> USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473		0x5473
>  
>  #define I2C_VENDOR_ID_RAYDIUM		0x2386
>  #define I2C_PRODUCT_ID_RAYDIUM_4B33	0x4b33
> diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
> index e0bbf0c6345d..5d7a418ccdbe 100644
> --- a/drivers/hid/hid-quirks.c
> +++ b/drivers/hid/hid-quirks.c
> @@ -891,6 +891,7 @@ static const struct hid_device_id
> hid_ignore_list[] = {
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS,
> USB_DEVICE_ID_SYNAPTICS_DPAD) },
>  #endif
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_YEALINK,
> USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_QUANTA,
> USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) },
>  	{ }
>  };
>