Skip to contentSkip to conversation

firewire: fix some broken hardware NMI interrupt

PATCH In review [email protected] 2 participants 3 messages May 21, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 firewire: fix some broken hardware NMI interrupt

Quoted 1 line

From JiSheng Zhang <[email protected]>

Some broken pci-1394 card does not clear completely on-chip memory during boot, it may cause pci parity error, then NMI interrupt. It will emit kernel message such as"Uhhuh. NMI received for unknown reason b1 on CPU 0. You have some hardware problem, likely on the PCI bus. Dazed and confused, but trying to continue" etc. If panic_on_unrecovered_nmi is set to 1, the system will panic. This patch will fix it

--- linux-2.6.25.4/drivers/firewire/fw-ohci.c.org 2008-05-21 20:44:26.901066202
+0800
+++ linux-2.6.25.4/drivers/firewire/fw-ohci.c 2008-05-21 20:55:15.290371532 +0800
@@ -2051,6 +2051,7 @@
struct fw_ohci *ohci;
u32 bus_options, max_receive, link_speed;
u64 guid;
+ u16 reg;
int err;
size_t size;

@@ -2082,6 +2083,10 @@

pci_set_master(dev); pci_write_config_dword(dev, OHCI1394_PCI_HCI_Control, 0);
+ /* some broken hardware */
+ pci_read_config_word(dev, PCI_COMMAND, &reg);
+ reg &= ~(PCI_COMMAND_SERR | PCI_COMMAND_PARITY);
+ pci_write_config_word(dev, PCI_COMMAND, reg);
pci_set_drvdata(dev, ohci);

#if defined(CONFIG_PPC_PMAC) && defined(CONFIG_PPC32)

#1 lore raw
Quoted 2 lines · [email protected] wrote:

Some broken pci-1394 card does not clear completely on-chip memory during boot, it may cause pci parity error, then NMI interrupt.

Which card?

Is the problem still present in linux-2.6.26-rc3?

Or if you don't want to test 2.6.26-rc yet, please test 2.6.25.4 with the firewire patchkit from
http://me.in-berlin.de/~s5r6/linux1394/updates/. There were changes to fw-ohci which influence chip initialization.

Signature · 3 lines
Stefan Richter
-=====-==--- -=-= =-=-=
http://arcgraph.de/sr/
#2 lore raw
Quoted 4 lines · Stefan Richter
Quoted 2 lines · [email protected] wrote:

Some broken pci-1394 card does not clear completely on-chip memory during boot, it may cause pci parity error, then NMI interrupt.

Quoted 8 lines

Which card?

Is the problem still present in linux-2.6.26-rc3?

Or if you don't want to test 2.6.26-rc yet, please test 2.6.25.4 with the firewire patchkit from
http://me.in-berlin.de/~s5r6/linux1394/updates/. There were changes to fw-ohci which influence chip initialization.

PS:
And does the parity error happen with the ohci1394 driver too?

Signature · 3 lines
Stefan Richter
-=====-==--- -=-= =-==-
http://arcgraph.de/sr/