On Fri, Jan 7, 2022 at 10:50 PM Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > On Fri, Jan 7, 2022 at 7:08 PM Gabriel L. Somlo <gsomlo@xxxxxxxxx> wrote: > > On Fri, Jan 07, 2022 at 12:06:16PM -0500, Gabriel Somlo wrote: ... > > Any more ordering or devm vs. non-devm mixing violations here? If so, > > can you please link me to an example or some docs where I ould figure > > out what it is I'm still doing wrong? > > Device managed resources are attached to the instance of the device > object and removed in the order they have been attached to, but with > the caveat that they have no clue about non-managed calls in between. > Now you may figure out what happens. Ex.: > > probe() > A > devm_B > C > devm_D > > remove() > un_C > un_A > > WRONG! For the sake of comprehensivity of the examples the right one(s) depicted below: ->probe() 1) devm_A devm_B C D 2) A B C D 3) devm_A devm_B devm_C devm_D Hint: `git log --no-merges --grep devm_add_action_or_reset` -- With Best Regards, Andy Shevchenko