3.0-rc1: powerpc hangs at Kernel virtual memory layout
Benjamin Herrenschmidt
benh at kernel.crashing.org
Thu Jun 2 12:57:47 EST 2011
On Wed, 2011-06-01 at 17:16 -0700, Christian Kujau wrote:
> On Tue, 31 May 2011 at 16:50, Christian Kujau wrote:
> > trying to boot 3.0-rc1 on powerpc32 only progresses until:
> >
> > > Kernel virtual memory layout:
> > > * 0xfffcf000..0xfffff000 : fixmap
>
> After hours (and hours!) of git-bisecting, it said:
>
> -----------------------
> ccc7c28af205888798b51b6cbc0b557ac1170a49 is the first bad commit
> commit ccc7c28af205888798b51b6cbc0b557ac1170a49
> Author: Rafał Miłecki <zajec5 at gmail.com>
> Date: Fri Apr 1 13:26:52 2011 +0200
>
> ssb: pci: implement serdes workaround
>
> Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
> Signed-off-by: John W. Linville <linville at tuxdriver.com>
> -----------------------
Ok, thanks a lot, It looks rather trivial actually: That new workaround
is PCIe specific but is called unconditionally, and will do bad things
non-PCIe implementations.
John, care to send the patch below to Linus ASAP ? I could reproduce and
verify it fixes it. Thanks !
ssb: pci: Don't call PCIe specific workarounds on PCI cores
Otherwise it can/will crash....
Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
index 82feb34..eddf1b9 100644
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
@@ -540,7 +540,8 @@ void ssb_pcicore_init(struct ssb_pcicore *pc)
ssb_pcicore_init_clientmode(pc);
/* Additional always once-executed workarounds */
- ssb_pcicore_serdes_workaround(pc);
+ if (dev->id.coreid == SSB_DEV_PCIE)
+ ssb_pcicore_serdes_workaround(pc);
/* TODO: ASPM */
/* TODO: Clock Request Update */
}
More information about the Linuxppc-dev
mailing list