Am Mittwoch, den 16.05.2018, 10:00 +0000 schrieb Hayes Wang: > Oliver Neukum [mailto:oneu...@suse.com] > > Sent: Wednesday, May 16, 2018 4:27 PM > > [...] > > > > > > Would usb_autopm_get_interface() take a long time? > > > The driver would wake the device if it has suspended. > > > I have no idea about how usb_autopm_get_interface() works, so I don't know > > > > how to help. > > > > Hi, > > > > it basically calls r8152_resume() and makes a control request to the > > hub. I think we are spinning in rtl8152_runtime_resume(), but where? > > It has a lot of NAPI stuff. Any suggestions on how to instrument or > > trace this? > > Is rtl8152_runtime_resume() called? I don't see the name in the trace.
Good question. I see nothing else that could produce a live lock. > > I guess the relative API in rtl8152_runtime_resume() are > ops->disable = rtl8153_disable; > ops->autosuspend_en = rtl8153_runtime_enable; > > And I don't find any possible dead lock in rtl8152_runtime_resume(). > > Besides, I find a similar issue as following. > https://www.spinics.net/lists/netdev/msg493512.html Well, if we have an imbalance in NAPI it should strike whereever it is used, not just in suspend(). Is there debugging for NAPI we could activate? Regards Oliver