From patchwork Thu Jun 2 02:57:47 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: 3.0-rc1: powerpc hangs at Kernel virtual memory layout Date: Wed, 01 Jun 2011 16:57:47 -0000 From: Benjamin Herrenschmidt X-Patchwork-Id: 98328 Message-Id: <1306983467.29297.51.camel@pasglop> To: Christian Kujau , linville@tuxdriver.com Cc: zajec5@gmail.com, linux ppc dev , LKML 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 > Date: Fri Apr 1 13:26:52 2011 +0200 > > ssb: pci: implement serdes workaround > > Signed-off-by: Rafał Miłecki > Signed-off-by: John W. Linville > ----------------------- 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 Tested-by: Christian Kujau --- 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 */ }