On Wed, 2011-06-01 at 17:16 -0700, Christian Kujau wrote:
On Tue, 31 May 2011 at 16:50, Christian Kujau wrote:
quoted
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 [off-list ref]
Date: Fri Apr 1 13:26:52 2011 +0200
ssb: pci: implement serdes workaround
Signed-off-by: Rafał Miłecki [off-list ref]
Signed-off-by: John W. Linville [off-list ref]
-----------------------
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@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 */
}