Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bdf492f5 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by John W. Linville
Browse files

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: default avatarAndreas Schwab <schwab@linux-m68k.org>
Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent dfe21582
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -539,11 +539,13 @@ void ssb_pcicore_init(struct ssb_pcicore *pc)
	if (!pc->hostmode)
		ssb_pcicore_init_clientmode(pc);

	/* Additional always once-executed workarounds */
	/* 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)
{