Subject: Re: [PATCH] fix MCA when shutting down tulip quad-NIC

From: Olaf Hering <[email-masked]>
Date: Tue, 10 Apr 2007 18:48:37 +0200

On Thu, Apr 05, Valerie Henson wrote:

> On Tue, Apr 03, 2007 at 11:19:16PM +0200, Olaf Hering wrote:
> > From: [email-masked]
> > 
> >  https://bugzilla.novell.com/show_bug.cgi?id=SUSE39204
> 
> Wow, registering for Novell's bugzilla is painful.  And in the end I
> get "Access denied" on that bug.  Can you give us this information
> some other way?

I did not see an easy way to make the bug public other than moving it to 
the openSuSE category.

> > Shutting down the network causes an MCA because of an IO TLB error when
> > a DEC quad 10/100 card is in any slot.  This problem was originally seen
> > on an HP rx4640.
> 
> I'm not clear on why pci_disable_device() would fix this bug.  Do you
> have an explanation (or can copy one out of the bug report)?  I'm
> hesitant to make even obviously correct changes to the tulip driver
> without good evidence, given the incredible variety of buggy hardware
> out there.

The comments in the bug do not have an detailed analysis.
One of the comments is:

...
Comment #1 From Andrew Patterson 2004-04-20 19:47:32 MST [reply]

1. ifdown the interfaces; then ifup them
2. do this in a loop from a script and it generally MCA's within 2 minutes.
...

The first version for 2.6.5 contained the pci_disable_device()
and a version which was commited to mainline:

http://git.kernel.org/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commitdiff;h=6379dd571265528f3911b9deafe2a29af2e71a2b

Later the patch contained just the pci_disable_device() call.

Andrew, does your testscript still fail in SLES10 or mainline?

> This looks to me like another iteration of the shutdown DMA/irq race
> at first glance.  Grant has a patch for it; I'm working on one I
> consider cleaner.

Thats likely the same issue.
http://www.linuxarkivet.se/mlists/linux-net/0409/msg00173.html