[RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards

Subsystems: sonics silicon backplane driver (ssb), the rest

5 messages, 2 authors, 2011-06-03 · open the first message on its own page

[RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards

From: Rafał Miłecki <zajec5@gmail.com>
Date: 2011-06-01 09:00:57

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 <redacted>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
 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

Re: [RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards

From: Rafał Miłecki <zajec5@gmail.com>
Date: 2011-06-01 19:14:53

2011/6/1 Rafa=C5=82 Mi=C5=82ecki [off-list ref]:
We were incorrectly executing PCIe specific workarounds on PCI cards.
This resulted in:
Machine check in kernel mode.
Caused by (from SRR1=3D149030): Transfer error ack signal
Oops: Machine check, sig: 7 [#1]
John, I've tested this patch myself on my PCI BCM4318, including
checking for 0xFFFFFFFF reads in MMIO dumps.

The patch is correct, please take it for 3.0.

--=20
Rafa=C5=82

Re: [RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards

From: Rafał Miłecki <zajec5@gmail.com>
Date: 2011-06-02 06:13:53

2011/6/1 Rafa=C5=82 Mi=C5=82ecki [off-list ref]:
2011/6/1 Rafa=C5=82 Mi=C5=82ecki [off-list ref]:
quoted
We were incorrectly executing PCIe specific workarounds on PCI cards.
This resulted in:
Machine check in kernel mode.
Caused by (from SRR1=3D149030): Transfer error ack signal
Oops: Machine check, sig: 7 [#1]
John, I've tested this patch myself on my PCI BCM4318, including
checking for 0xFFFFFFFF 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.

--=20
Rafa=C5=82

Re: [RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards

From: Christian Kujau <hidden>
Date: 2011-06-02 06:27:56

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

Re: [RFT][PATCH 3.0] ssb: fix PCI(e) driver regression causing oops on PCI cards

From: Rafał Miłecki <zajec5@gmail.com>
Date: 2011-06-03 21:24:58

On Jun 1, 2011 9:14 PM, "Rafał Miłecki" [off-list ref] wrote:
2011/6/1 Rafał Miłecki [off-list ref]:
quoted
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 0xFFFFFFFF reads in MMIO dumps.

The patch is correct, please take it for 3.0.
Ping, ping, ping John.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help