On Thu, Dec 21, 2023 at 03:11:11PM +0000, Lee Jones wrote: > On Thu, 14 Dec 2023, George Stark wrote: > > > This patch series fixes the problem of devm_led_classdev_register misusing. > > > > The basic problem is described in [1]. Shortly when devm_led_classdev_register() > > is used then led_classdev_unregister() called after driver's remove() callback. > > led_classdev_unregister() calls driver's brightness_set callback and that callback > > may use resources which were destroyed already in driver's remove(). > > > > After discussion with maintainers [2] [3] we decided: > > 1) don't touch led subsytem core code and don't remove led_set_brightness() from it > > but fix drivers > > 2) don't use devm_led_classdev_unregister > > > > So the solution is to use devm wrappers for all resources > > driver's brightness_set() depends on. And introduce dedicated devm wrapper > > for mutex as it's often used resource. > > > > [1] https://lore.kernel.org/lkml/8704539b-ed3b-44e6-aa82-586e2f895e2b@xxxxxxxxxxxxxxxxx/T/ > > [2] https://lore.kernel.org/lkml/8704539b-ed3b-44e6-aa82-586e2f895e2b@xxxxxxxxxxxxxxxxx/T/#mc132b9b350fa51931b4fcfe14705d9f06e91421f > > [3] https://lore.kernel.org/lkml/8704539b-ed3b-44e6-aa82-586e2f895e2b@xxxxxxxxxxxxxxxxx/T/#mdbf572a85c33f869a553caf986b6228bb65c8383 ... > FYI: I'll conduct my review once the locking side is settled. To reduce burden can you apply the first one? It's a fix. -- With Best Regards, Andy Shevchenko