Re: [PATCH] pci: let pci_device_shutdown to call pci_disable_msi

From: Yinghai Lu
Date: Wed Apr 23 2008 - 21:22:36 EST


On Wed, Apr 23, 2008 at 5:17 PM, Michael Ellerman
<michael@xxxxxxxxxxxxxx> wrote:
> On Wed, 2008-04-23 at 06:08 -0700, Eric W. Biederman wrote:
> > Michael Ellerman <michael@xxxxxxxxxxxxxx> writes:
> >
> > > On Tue, 2008-04-22 at 21:48 -0700, Yinghai Lu wrote:
> > >> this change
> > >>
> > >> | commit 23a274c8a5adafc74a66f16988776fc7dd6f6e51
> > >> | Author: Prakash, Sathya <sathya.prakash@xxxxxxx>
> > >> | Date: Fri Mar 7 15:53:21 2008 +0530
> > >> |
> > >> | [SCSI] mpt fusion: Enable MSI by default for SAS controllers
> > >> |
> > >> | This patch modifies the driver to enable MSI by default for all SAS chips.
> > >> |
> > >> | Signed-off-by: Sathya Prakash <sathya.prakash@xxxxxxx>
> > >> | Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
> > >> |
> > >> cause kexec RHEL 5.1 kernel fail.
> > >>
> > >> root casue: the rhel 5.1 kernel still use INTx emulation.
> > >> and mptscsih_shutdown doesn't call pci_disable_msi to reenable INTx on kexec
> > > path
> > >>
> > >> so try to call pci_disable_msi in shutdown patch
> > >
> > > How is kdump going to work? Your shutdown routine won't be called and
> > > you'll have the same problem in the 2nd kernel, won't you?
> >
> > Taking a quick look our current msi initialization appears robust in
> > not assuming the state of the msi config bits.
>
> But does that help us? What if the device driver in the 2nd kernel
> assumes it's using INTX, when in fact MSI is enabled on the device. In
> that case none of the MSI code will even be called AFAIK.

ok. for kdump case, if driver can not use msi (?), with pci=nomsi
we need to call pci_intx_for_msi(dev, 1) at beginning of second kernel.

will produce another patch about that case.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/