[RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards
We were incorrectly executing PCIe specific workarounds on PCI cards. This resulted in: Machine check in kernel mode. Caused by (from SRR1=149030): Transfer error ack signal Oops: Machine check, sig: 7 [#1] Reported-by: Andreas Schwab Signed-off-by: Rafał Miłecki --- drivers/ssb/driver_pcicore.c | 10 ++ 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c index 82feb34..2a20dab 100644 --- a/drivers/ssb/driver_pcicore.c +++ b/drivers/ssb/driver_pcicore.c @@ -539,10 +539,12 @@ void ssb_pcicore_init(struct ssb_pcicore *pc) if (!pc->hostmode) ssb_pcicore_init_clientmode(pc); - /* Additional always once-executed workarounds */ - ssb_pcicore_serdes_workaround(pc); - /* TODO: ASPM */ - /* TODO: Clock Request Update */ + /* Additional PCIe always once-executed workarounds */ + if (dev->id.coreid == SSB_DEV_PCIE) { + ssb_pcicore_serdes_workaround(pc); + /* TODO: ASPM */ + /* TODO: Clock Request Update */ + } } static u32 ssb_pcie_read(struct ssb_pcicore *pc, u32 address) -- 1.7.1 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards
2011/6/1 Rafał Miłecki : > We were incorrectly executing PCIe specific workarounds on PCI cards. > This resulted in: > Machine check in kernel mode. > Caused by (from SRR1=149030): Transfer error ack signal > Oops: Machine check, sig: 7 [#1] John, I've tested this patch myself on my PCI BCM4318, including checking for 0x reads in MMIO dumps. The patch is correct, please take it for 3.0. -- Rafał ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards
2011/6/1 Rafał Miłecki : > 2011/6/1 Rafał Miłecki : >> We were incorrectly executing PCIe specific workarounds on PCI cards. >> This resulted in: >> Machine check in kernel mode. >> Caused by (from SRR1=149030): Transfer error ack signal >> Oops: Machine check, sig: 7 [#1] > > John, I've tested this patch myself on my PCI BCM4318, including > checking for 0x reads in MMIO dumps. > > The patch is correct, please take it for 3.0. John, I'm afraid more and more people get angry at me because of this ;) Christian Kujau confirmed this problem and fix. -- Rafał ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards
On Thu, 2 Jun 2011 at 08:13, Rafał Miłecki wrote: > John, I'm afraid more and more people get angry at me because of this ;) Erm, I'm not angry at anyone :-) On the contrary, I'm happy about the fix so quickly available! Though I'm a bit afraid of the next git bisect session, as it might not be so straightforward than this one... Thanks to all involved, Christian. -- BOFH excuse #230: Lusers learning curve appears to be fractal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards
On Jun 1, 2011 9:14 PM, "Rafał Miłecki" wrote: > > 2011/6/1 Rafał Miłecki : > > We were incorrectly executing PCIe specific workarounds on PCI cards. > > This resulted in: > > Machine check in kernel mode. > > Caused by (from SRR1=149030): Transfer error ack signal > > Oops: Machine check, sig: 7 [#1] > > John, I've tested this patch myself on my PCI BCM4318, including > checking for 0x reads in MMIO dumps. > > The patch is correct, please take it for 3.0. Ping, ping, ping John. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev