Re: bug in pci_try_reset_bus

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

 



On 8/27/2018 3:52 PM, Dennis Dalessandro wrote:

can you please confirm?

Ah yes, silly me. pci_bus_reset() returns 0 and it does go on but doesn't make it to the trylock, it gets hung calling pci_bus_save_and_disable().


OK. That makes sense now. pci_bus_save_and_disable() is also trying to
obtain a device lock via pci_dev_lock().

Since you are calling this from probe time, you are getting dead lock
because device is locked.

Is it possible to defer this secondary bus reset operation to post probe?

Possible solutions are:
1. introduce a locked reset API
2. skip lock during probe
3. bring back raw reset API even though it is undesirable.

Other opinions?

BTW, please file a bugzilla and capture your email details there so that we
can have record of what we are doing?

-Denny




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux