Re: [ PATCH] Add suspend/resume for HPET was: Re: [3/6] 2.6.21-rc4: known regressions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux