Simon Fowler <simon@himi.org> wrote:
>
> On Tue, Jun 10, 2003 at 02:14:40PM -0700, Andrew Morton wrote:
> > Simon Fowler <simon@himi.org> wrote:
> > >
> > > On Tue, Jun 10, 2003 at 04:16:54PM +1000, Simon Fowler wrote:
> > > > I've started seeing a hard lockup on boot with my Fujitsu Lifebook
> > > > p2120 laptop, with a radeon mobility M6 LY, when using a Linus bk
> > > > kernel as of 2003-06-09 (possibly earlier - the last kernel I've
> > > > tested is bk as of 2003-06-04). lspci lists this hardware:
> > > >
> > > I've narrowed the start of the problem down: 2.5.70-bk13 works,
> > > -bk14 oopses.
> >
> > That's funny. bk13->bk14 was almost all arm stuff. diffstat below.
> >
> > It might be worth reverting this chunk, see if that fixes it:
> >
> > --- b/drivers/char/mem.c Thu Jun 5 23:36:40 2003
> > +++ b/drivers/char/mem.c Sun Jun 8 05:02:24 2003
> > @@ -716 +716 @@
> > -__initcall(chr_dev_init);
> > +subsys_initcall(chr_dev_init);
> >
> And we have a winner . . . Reverting this hunk fixes the oops.
>
So it's another initcall problem in the PCI layer.
pci_enable_device_bars() is needing things which are not yet set up. A lot
of the PCI initialisation is at subsys_initcall() as well, and you got
unlucky with link order.
I expect the below patch will fix this as well. Could you please put the
above change back to normal and see if this one fixes it?
diff -puN arch/i386/pci/irq.c~pci-init-ordering-fix arch/i386/pci/irq.c
--- 25/arch/i386/pci/irq.c~pci-init-ordering-fix Tue Jun 10 15:40:19 2003
+++ 25-akpm/arch/i386/pci/irq.c Tue Jun 10 15:40:19 2003
@@ -791,7 +791,7 @@ static int __init pcibios_irq_init(void)
return 0;
}
-subsys_initcall(pcibios_irq_init);
+arch_initcall(pcibios_irq_init);
void pcibios_penalize_isa_irq(int irq)
diff -puN arch/i386/pci/legacy.c~pci-init-ordering-fix arch/i386/pci/legacy.c
--- 25/arch/i386/pci/legacy.c~pci-init-ordering-fix Tue Jun 10 15:46:35 2003
+++ 25-akpm/arch/i386/pci/legacy.c Tue Jun 10 15:46:47 2003
@@ -65,4 +65,4 @@ static int __init pci_legacy_init(void)
return 0;
}
-subsys_initcall(pci_legacy_init);
+arch_initcall(pci_legacy_init);
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Jun 15 2003 - 22:00:26 EST