On Friday, October 20, 2017 8:22:01 AM CEST Greg KH wrote: > On Fri, Oct 20, 2017 at 03:22:07AM +0200, Rafael J. Wysocki wrote: > > On Friday, October 20, 2017 3:23:16 AM CEST Jeffy Chen wrote: > > > The current ordering of code in device_del() triggers a WARN_ON() > > > in device_links_purge(), because of an unexpected link status. > > > > > > The device_links_unbind_consumers() call in device_release_driver() > > > has to take place before device_links_purge() for the status of all > > > links to be correct, so move the device_links_purge() call in > > > device_del() after the invocation of bus_remove_device() which calls > > > device_release_driver(). > > > > > > Signed-off-by: Jeffy Chen <[email protected]> > > > Reviewed-by: Rafael J. Wysocki <[email protected]> > > > > OK, thanks. > > > > Greg, will you take this? > > Yes I will. But I don't understand if this is a bugfix that needs to go > to all stable kernels to resolve a problem that has always been there, > or it is ok for 4.15-rc1, as it's just a "do things in the correct > order" type of change. > > Any hints?
Technically the problem has always been there, but it is only visible if device links are used in a specific way and I'm not sure whether or not there is any code in the tree where that's the case. That said AFAICS it should be safe to add Fixes: 9ed9895370ae (driver core: Functional dependencies tracking support) to it and handle it accordingly. Thanks, Rafael

