Skip to contentSkip to conversation

USB: quirks: Goodix Fingerprint device is not a modem

PATCH Superseded Yorick de Wid 4 participants 10 messages Feb 12, 2021 – Feb 13, 2021

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 USB: quirks: Goodix Fingerprint device is not a modem

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

---
 drivers/usb/class/cdc-acm.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/usb/class/cdc-acm.c +5 -0
index 78190574581..41d20a44dc3 100644
@@ -1922,6 +1922,11 @@ static const struct usb_device_id acm_ids[] = {
 	.driver_info = IGNORE_DEVICE,
 	},
 
+	/* Exclude Goodix Fingerprint Reader */
+	{ USB_DEVICE(0x27c6, 0x5395),
+	.driver_info = IGNORE_DEVICE,
+	},
+
 	{ USB_DEVICE(0x1bc7, 0x0021), /* Telit 3G ACM only composition */
 	.driver_info = SEND_ZERO_PACKET,
 	},
Signature · 1 line
2.30.0
#1 lore raw

PATCH v2 1/1 Goodix Fingerprint device is not a modem

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

Keep the entries sorted on in VID/PID.

---
 drivers/usb/class/cdc-acm.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/usb/class/cdc-acm.c +5 -0
index 78190574581..41d20a44dc3 100644
@@ -1922,6 +1922,11 @@ static const struct usb_device_id acm_ids[] = {
 	.driver_info = IGNORE_DEVICE,
 	},
 
+	/* Exclude Goodix Fingerprint Reader */
+	{ USB_DEVICE(0x27c6, 0x5395),
+	.driver_info = IGNORE_DEVICE,
+	},
+
 	{ USB_DEVICE(0x1bc7, 0x0021), /* Telit 3G ACM only composition */
 	.driver_info = SEND_ZERO_PACKET,
 	},
Signature · 1 line
2.30.0
#2 lore raw

PATCH v3 1/1 Goodix Fingerprint device is not a modem

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

Keep the entries sorted on in VID/PID.

---
 drivers/usb/class/cdc-acm.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/usb/class/cdc-acm.c +5 -0
index 78190574581..2f4e5174e78 100644
@@ -1929,6 +1929,11 @@ static const struct usb_device_id acm_ids[] = {
 	.driver_info = SEND_ZERO_PACKET,
 	},
 
+	/* Exclude Goodix Fingerprint Reader */
+	{ USB_DEVICE(0x27c6, 0x5395),
+	.driver_info = IGNORE_DEVICE,
+	},
+
 	/* control interfaces without any protocol set */
 	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
 		USB_CDC_PROTO_NONE) },
Signature · 1 line
2.30.0
#3 lore raw

Re: [PATCH v3] Goodix Fingerprint device is not a modem

Quoted 29 lines · Yorick de Wid

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

Keep the entries sorted on in VID/PID.

---
 drivers/usb/class/cdc-acm.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/usb/class/cdc-acm.c +5 -0
index 78190574581..2f4e5174e78 100644
@@ -1929,6 +1929,11 @@ static const struct usb_device_id acm_ids[] = {
 	.driver_info = SEND_ZERO_PACKET,
 	},
 
+	/* Exclude Goodix Fingerprint Reader */
+	{ USB_DEVICE(0x27c6, 0x5395),
+	.driver_info = IGNORE_DEVICE,
+	},
+
 	/* control interfaces without any protocol set */
 	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
 		USB_CDC_PROTO_NONE) },
Signature · 1 line
2.30.0

Hi,

This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him a patch that has triggered this response. He used to manually respond to these common problems, but in order to save his sanity (he kept writing the same thing over and over, yet to different people), I was created. Hopefully you will not take offence and will fix the problem in your patch and resubmit it so that it can be accepted into the Linux kernel tree.

You are receiving this message because of the following common error(s) as indicated below:

- This looks like a new version of a previously submitted patch, but you did not list below the --- line any changes from the previous version. Please read the section entitled "The canonical patch format" in the kernel file, Documentation/SubmittingPatches for what needs to be done here to properly describe this.

If you wish to discuss this problem further, or you have questions about how to resolve this issue, please feel free to respond to this email and Greg will reply once he has dug out from the pending patches received from other developers.

thanks,

greg k-h's patch email bot

maintainer
#4 lore raw

Re: [PATCH v3] Goodix Fingerprint device is not a modem

In reply to Yorick de Wid

Am Freitag, den 12.02.2021, 12:10 +0100 schrieb Yorick de Wid:

Quoted 2 lines

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

Hi,

what else is it? Which driver should be used or is it to be handled in user space? That needs to go into the change log. Otherwise this patch just looks like it drops every access to the device.

Regards
Oliver

#5 lore raw

Re: [PATCH v3] Goodix Fingerprint device is not a modem

Quoted 1 line

what else is it?

It's a fingerprint device/biometrics that should be handled by the Goodix MOC driver in libfprint. libfprint supports some Goodix devices but not all. I _suspect_ that other PID's from the same VID and class/subclass/protocol will also match the ACM driver.

Y.

Quoted 15 lines · Oliver Neukum

Am Freitag, den 12.02.2021, 12:10 +0100 schrieb Yorick de Wid:

Quoted 2 lines

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

Hi,

what else is it? Which driver should be used or is it to be handled in user space? That needs to go into the change log. Otherwise this patch just looks like it drops every access to the device.

Regards
Oliver

maintainer
#6 lore raw

Re: [PATCH v3] Goodix Fingerprint device is not a modem

Am Freitag, den 12.02.2021, 12:59 +0100 schrieb Yorick de Wid:

Quoted 6 lines
Quoted 1 line

what else is it?

It's a fingerprint device/biometrics that should be handled by the Goodix MOC driver in libfprint. libfprint supports some Goodix devices but not all. I _suspect_ that other PID's from the same VID and class/subclass/protocol will also match the ACM driver.

Hi,
thank you. That is a very good answer. Now could you include it into the patch description and resend it?

Regards
Oliver

#7 lore raw

PATCH v4 1/1 Goodix Fingerprint device is not a modem

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

The Goodix Fingerprint device is a biometrics sensor that should be handled in user-space.
libfprint has some support for Goodix fingerprint sensors, although not for this particular one.
It is possible that the vendor allocates a PID per OEM (Lenovo, Dell etc).
If this happens to be the case then more devices from the same vendor could potentially match the ACM modem module table.

---
v1 -> v3:
Moved the entry down to keep the VID/PID order.
v3 -> v4:
Patch description of device in question

 drivers/usb/class/cdc-acm.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/usb/class/cdc-acm.c +5 -0
index 78190574581..2f4e5174e78 100644
@@ -1929,6 +1929,11 @@ static const struct usb_device_id acm_ids[] = {
 	.driver_info = SEND_ZERO_PACKET,
 	},
 
+	/* Exclude Goodix Fingerprint Reader */
+	{ USB_DEVICE(0x27c6, 0x5395),
+	.driver_info = IGNORE_DEVICE,
+	},
+
 	/* control interfaces without any protocol set */
 	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
 		USB_CDC_PROTO_NONE) },
Signature · 1 line
2.30.0
maintainer
#8 lore raw

Re: [PATCH v4] Goodix Fingerprint device is not a modem

Quoted 6 lines · Yorick de Wid

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

The Goodix Fingerprint device is a biometrics sensor that should be handled in user-space.
libfprint has some support for Goodix fingerprint sensors, although not for this particular one.
It is possible that the vendor allocates a PID per OEM (Lenovo, Dell etc).
If this happens to be the case then more devices from the same vendor could potentially match the ACM modem module table.

Can you wrap these lines at 72 columns and resend?

thanks,

greg k-h

#9 lore raw

PATCH v4 1/1 Goodix Fingerprint device is not a modem

The CDC ACM driver is false matching the Goodix Fingerprint device against the USB_CDC_ACM_PROTO_AT_V25TER.

The Goodix Fingerprint device is a biometrics sensor that should be handled in user-space. libfprint has some support for Goodix fingerprint sensors, although not for this particular one. It is possible that the vendor allocates a PID per OEM (Lenovo, Dell etc). If this happens to be the case then more devices from the same vendor could potentially match the ACM modem module table.

---
v1 -> v3:
Moved the entry down to keep the VID/PID order.
v3 -> v4:
Patch description of device in question

 drivers/usb/class/cdc-acm.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/usb/class/cdc-acm.c +5 -0
index 78190574581..2f4e5174e78 100644
@@ -1929,6 +1929,11 @@ static const struct usb_device_id acm_ids[] = {
 	.driver_info = SEND_ZERO_PACKET,
 	},
 
+	/* Exclude Goodix Fingerprint Reader */
+	{ USB_DEVICE(0x27c6, 0x5395),
+	.driver_info = IGNORE_DEVICE,
+	},
+
 	/* control interfaces without any protocol set */
 	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
 		USB_CDC_PROTO_NONE) },
Signature · 1 line
2.30.0