[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061031222631.GQ6360@austin.ibm.com>
Date: Tue, 31 Oct 2006 16:26:32 -0600
From: linas@...tin.ibm.com (Linas Vepstas)
To: James Bottomley <James.Bottomley@...elEye.com>
Cc: Matthew Wilcox <matthew@....cx>, linux-scsi@...r.kernel.org,
linux-pci@...ey.karlin.mff.cuni.cz, linux-kernel@...r.kernel.org
Subject: Re: [PATCH]: PCI Error Recovery: Symbios SCSI device driver
On Tue, Oct 31, 2006 at 02:24:01PM -0500, James Bottomley wrote:
>
> Just for my own edification, what happens on the dual function (dual
> channel) boards? We have two threads there and two separate I/O
> processors. I assume a PCI error will kill both,
Yes.
> do we need to do
> something about this?
I'm not sure, and actually, I have not thought about
or tested this case for the symbios.
The answer depends on the h/w design. On PCI
multi-function cards, the PCI reset callbacks will
get called for each PCI function. (Each function
gets to vote/veto how it wants te reset to proceed).
If the hardware supports completely independent scsi
host initialization for each scsi i/o processor,
then things should just work.
If some part of the card init sequence needs to run
only once, even when there are two i/o processors, then
this needs to be protected against. I presume that
using if(0 == PCI_FUNC(pdev->devfn)) is enough to
make sure the hardware initilization is called only once
for the card -- i.e. by calling it only for PCI
function zero. If there needs to be some additional
locking to make sure that the card initialization
completes before the i/o processor initialization
starts ... well, I don't know about that.
--linas
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists