Re: Exit ACPI drivers immediately if acpi is disabled

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

 



On Fri, Apr 21, 2006 at 06:53:46PM +0200, Thomas Renninger wrote:
> On Friday 21 April 2006 17:18, Bjorn Helgaas wrote:
> > On Friday 21 April 2006 04:43, Thomas Renninger wrote:
> > > If booting with acpi=off and loading the processor module, it
> > > may happen that the kernel oopses when trying to unload the module again.
> > > Better exit all ACPI modules immediately if booted with acpi=off.
> > > ... 
> > > @@ -289,31 +289,28 @@ static int __init acpi_ac_init(void)
> > >  {
> > >  	int result = 0;
> > >  
> > > -	ACPI_FUNCTION_TRACE("acpi_ac_init");
> > > +	if (acpi_disabled)
> > > +		return -ENODEV;
> > 
> > This doesn't feel like the right solution to me.
> > acpi_bus_register_driver() already returns -ENODEV
> > if acpi_disabled, and that ought to be enough so the
> > drivers can handle this correctly.
> > 
> > I don't think we should clutter every ACPI driver with
> > the same check for acpi_disabled.
> Yes, you are right.
> > 
> > Did you investigate the oops when unloading the processor module?
> It's in unregister_driver.
> > I wonder if that driver has a bug there.  It has a mysterious
> > comment that "we keep the driver loaded even when ACPI is not
> > running" for powernow-k8.   I don't understand that at all, but
> > it sounds like it requires extra care to make sure everything
> > works right.
> AFAIK processor module has no functions if acpi=off.
> Some cpufreq drivers still work. The ones which have the steps
> for each CPU model compiled in and that should still work.
> 
> There should be no functions missing when booting acpi=off and processor
> module cannot be loaded.
> But I might be wrong here...
> 
> Hmm, as even proc is deleted, the module probably should not be loaded...
> 
> I think this one should go in then:
> 
> Subject: Exit ACPI processor module if acpi is disabled

No. For example powernow-k8 and speedstep-centrino do have a dependency on a
function which is exported by processor_perflib.c. THis means you cannot
load these modules (which can run without ACPI support) if loading the
processor module fails. Therefore its init function must not fail.

	Dominik
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux