On Thursday 29 March 2007 18:35:21 Linus Torvalds wrote: > > On Thu, 29 Mar 2007, Maxim wrote: > > > On Thursday 29 March 2007 07:08:58 Linus Torvalds wrote: > > > > > > (Or, better yet, shouldn't we set "boot_hpet_disable" when we decide not > > > to use the HPET, and set hpet_virt_address to NULL?) > > > > This is done here > > > > out_nohpet: > > iounmap(hpet_virt_address); > > hpet_virt_address = NULL; > > No, that only clears hpet_virt_address, and thus makes all subsequent > "hpet_readl()" and "hpet_writel()" calls oops. > > But it doesn't actually *tell* anybody that the HPET is disabled, so if > you later on do > > if (is_hpet_capable()) { > time = hpet_readl(..); > .. > > you will just Oops! > > So as far as I can see, even with your latest patch, if hpet_enable() > fails (and triggers the "goto out_nohpet" cases), you'll just oops > immediately when you try to suspend/resume the HPET. > > THAT was what I meant - when we clear hpet_virt_address, we should also > tell all potential subsequent users that the HPET is not there! > > Linus > Hi, I agree, and as you said I did exactly that: out_nohpet: iounmap(hpet_virt_address); hpet_virt_address = NULL; boot_hpet_disable = 1; <<<--- this ensures that is_hpet_capable() will never return positive value I also sent an updated version on my patch with subject line "[PATCH v2] Add suspend/resume for HPET" I forgot (a typo) to check error code in hpet_register_sysfs Thanks to Sergei Shtylyov for pointing me on that. This patch should be ok. Best regards, Maxim Levitsky _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm