Re: 2.6.17-rc4-mm3 - kernel panic

Kristen Accardi
2006-05-26T18:18:12Z

On Fri, 2006-05-26 at 09:15 +0200, Pavel Machek wrote:
> On Čt 25-05-06 17:04:18, Kristen Accardi wrote:
> > On Fri, 2006-05-26 at 00:17 +0200, Pavel Machek wrote:
> > > On Pá 26-05-06 00:12:22, Pavel Machek wrote:
> > > > Hi!
> > > >
> > > > > > Does the panic go away with CONFIG_ACPI_DOCK=n?
> > > >
> > > > > Can either Pavel or Andreas please try this little debugging patch and
> > > > > send me the dmesg output? Please enable the CONFIG_DEBUG_KERNEL option
> > > > > in your .config as well so that I can get additional info.
> > > >
> > > > Yep, you were right... this debugging patch helps.
> > >
> > > ...and docking +/- works, but it does not look like PCI in docking
> > > station is properly connected:
> > >
> >
> > No, I would not expect PCI to work properly with the debug patch -
> > basically all I did was prevent the oops and confirm that this is the
> > issue, I did not actually solve the problem.
> >
> > I need some way to prevent acpiphp from loading before dock is completed
> > it's init.
> >
> > I guess I will think about this some more.
>
> Using different _init levels? Like putting dock at subsys_initcall()
> while acpiphp at late_initcall()?
> Pavel

Can you see if this works for you? Revert the first debug patch I sent
and apply this one instead (against -mm).

Thanks,
Kristen

---
drivers/acpi/dock.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

--- 2.6-mm.orig/drivers/acpi/dock.c
+++ 2.6-mm/drivers/acpi/dock.c
@@ -190,6 +190,9 @@ static int is_dock(acpi_handle handle)
*/
int is_dock_device(acpi_handle handle)
{
+ if (!dock_station)
+ return 0;
+
if (is_dock(handle) || find_dock_dependent_device(dock_station, handle))
return 1;

@@ -674,5 +677,5 @@ static void __exit dock_exit(void)
dock_remove();
}

-module_init(dock_init);
+postcore_initcall(dock_init);
module_exit(dock_exit);