On Mon, Oct 28, 2024 at 11:53:55AM -0700, Jacob Keller wrote: > > > On 10/28/2024 9:00 AM, Joe Damato wrote: > > > > I see, so it looks like there is: > > - resume > > - runtime_resume > > > > The bug I am reintroducing is runtime_resume already holding RTNL > > before my added call to rtnl_lock. > > > > OK. > > > > Does resume also hold rtnl before the driver's igc_resume is called? > > I am asking because I don't know much about how PM works. > > > > If resume does not hold RTNL (but runtime resume does, as the bug > > you pointed out shows), it seems like a wrapper can be added to tell > > the code whether rtnl should be held or not based on which resume is > > happening. > > > > Does anyone know if: resume (not runtime_resume) already holds RTNL? > > I'll try to take a look and see, but I am not very familiar with PM. > > I believe the resume doesn't hold RTNL, as its part of the core device > code, which is not networking specific. It shouldn't be acquiring RTNL > since that is a network specific lock. > > I believe the code you posted as v5 should resolve this, and makes sense > to me. > > Thanks for digging into this :) No problem; sorry for all the back and forth on this one and I really appreciate your patience and reviews. Thanks, Joe