All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Pecio <michal.pecio@gmail.com>
To: EricLin <ericlin050914@gmail.com>
Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
	mathias.nyman@intel.com, mathias.nyman@linux.intel.com
Subject: Re: [BUG] Usb fingerprint sensor constantly resetting on MSI Prestige 16 Flip AI+ C3MTG
Date: Wed, 16 Sep 2026 19:47:36 +0200	[thread overview]
Message-ID: <20260916194736.7ba779c2.michal.pecio@gmail.com> (raw)
In-Reply-To: <20260916131730.5522-1-ericlin050914@gmail.com>

On Wed, 16 Sep 2026 21:17:30 +0800, EricLin wrote:
> I'm using fprint to operate this fingerprint sensor
> 
>     |__ Port 006: Dev 002, If 0, Class=Vendor Specific Class, Driver=[none], 12M
>         ID 27c6:6090 Shenzhen Goodix Technology Co.,Ltd.

This all sounds like some userspace driver is used.

And to me, this below looks like completely normal and successful USB2
device resume, followed by a reset initiated for unknown reason. 

[  240.364611] xhci_hcd 0000:00:14.0: clear USB_PORT_FEAT_SUSPEND
[  240.364612] xhci_hcd 0000:00:14.0: PORTSC 0663
# PLS is suspend, write resume
[  240.364616] xhci_hcd 0000:00:14.0: Set port 3-6 link state, portsc: 0x663, write 0x107e1
# PLS is resume, write U0
[  240.405029] xhci_hcd 0000:00:14.0: Set port 3-6 link state, portsc: 0x7e3, write 0x10601
[  240.405066] usb 3-6: usb auto-resume
# reached U0 state
[  240.405138] xhci_hcd 0000:00:14.0: Port change event, 3-6, id 6, portsc: 0x400603
[  240.405148] xhci_hcd 0000:00:14.0: handle_port_status: starting usb3 port polling.
[  240.446041] xhci_hcd 0000:00:14.0: Get port status 3-6 read: 0x603, return 0x40103
[  240.446119] xhci_hcd 0000:00:14.0: clear port6 suspend/resume change, portsc: 0x603
# this would be "finish reset-resume" if one was intended
# or "retry with reset-resume" if resume failed
# see drivers/usb/core/hub.c::finish_port_resume()
[  240.456987] usb 3-6: finish resume
[  240.457379] xhci_hcd 0000:00:14.0: set port reset, actual port 3-6 status  = 0x791

So maybe it's just the userspace software doing it for whatever reason
on every use. Guess you could run "strace -eioctl" on this program to
see if there is USBDEVFS_RESET each time the dmesg message shows up.

Or add dump_stack() in usb_reset_device(), recompile and see what pops
up. Probably ioctl syscall at the bottom of the call stack...

Regards,
Michal

  reply	other threads:[~2026-09-16 17:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-10 14:47 [BUG] Usb fingerprint sensor constantly resetting on MSI Prestige 16 Flip AI+ C3MTG Eric Lin
2026-09-11  9:53 ` Mathias Nyman
2026-09-11 12:11   ` EricLin
2026-09-11 13:39     ` Mathias Nyman
2026-09-11 14:48       ` EricLin
2026-09-11 20:21         ` Michal Pecio
2026-09-16 13:17           ` EricLin
2026-09-16 17:47             ` Michal Pecio [this message]
2026-09-17 12:29               ` EricLin
2026-09-17 13:49                 ` Michal Pecio
2026-09-17 14:18                   ` EricLin

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=20260916194736.7ba779c2.michal.pecio@gmail.com \
    --to=michal.pecio@gmail.com \
    --cc=ericlin050914@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=mathias.nyman@linux.intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.