Hi, On Wed, 11 Mar 2009, Nishanth Menon wrote: > clk_notifier_unregister should clean the list before > freeing clock notifier, else clk_notifier_list is > filled with dangling pointers > > Issue seen while repetative loading/unloading of bridgedriver > > Ref: http://marc.info/?t=123678326300002&r=1&w=2 > > Signed-off-by: Nishanth Menon <nm@xxxxxx> > --- > arch/arm/plat-omap/clock.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c > index c8d9e96..523d1b0 100644 > --- a/arch/arm/plat-omap/clock.c > +++ b/arch/arm/plat-omap/clock.c > @@ -725,8 +725,11 @@ int clk_notifier_unregister(struct clk *clk, struct notifier_block *nb) > * XXX ugh, layering violation. there should be some > * support in the notifier code for this. > */ > - if (!cn->notifier_head.head) > + if (!cn->notifier_head.head) { > + /* Free up my clock node too */ > + list_del(&cn->node); > kfree(cn); > + } > > } else { > r = -ENOENT; > -- > 1.5.4.3 > Thanks, this looks good. Just to clarify, this is currently against the PM branch. There's a new version of the clock notifier patch coming out soon against l-o; will roll this fix in. - Paul -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html