Re: mhi resume failure on reboot with 6.13-rc2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 18, 2024 at 05:08:30PM +0530, Manivannan Sadhasivam wrote:
> On Wed, Dec 18, 2024 at 09:40:45AM +0100, Johan Hovold wrote:

> > I've tracked down the hang to a deadlock on the parent device lock.
> > 
> > Driver core takes the parent device lock before calling shutdown(), and
> > then mhi_pci_shutdown() waits indefinitely for the recovery thread to
> > finish.

> Thanks for tracking the deadlock. I think we should use pci_try_reset_function()
> instead of pci_reset_function() in mhi_pci_recovery_work().
> 
> If the pci_dev_lock() is already taken, it will return with -EAGAIN and we do
> not need to worry in that case since the host is going to be powered off anyway
> (and so the device).

That may work. But note that I've now also seen this deadlock during
suspend (i.e. when the device is not going away). The
pci_try_reset_function() should avoid the deadlock here too, but we'll
end up in funny state.

Now I'd also like to know why I'm suddenly seeing these runtime PM
resume errors of this modem. Haven't seen them before 6.13-rc, and I'm
not sure that it's really the firmware that is crashing left and right
all of a sudden.

Johan




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux