Messages in this thread Patch in this message | | | Date | Mon, 27 May 2013 18:20:27 +0200 | From | Alexander Gordeev <> | Subject | [PATCH] powerpc/pseries: Force 32 bit MSIs when tearing down |
| |
This fix just adds a missed call to a new PAPR function which should have been done with commit e61133d ("powerpc/ pseries: Force 32 bit MSIs for devices that require it")
Signed-off-by: Alexander Gordeev <agordeev@redhat.com> --- arch/powerpc/platforms/pseries/msi.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/pseries/msi.c index 40c7db3..2b80a68 100644 --- a/arch/powerpc/platforms/pseries/msi.c +++ b/arch/powerpc/platforms/pseries/msi.c @@ -90,6 +90,7 @@ static int rtas_change_msi(struct pci_dn *pdn, u32 func, u32 num_irqs) static void rtas_disable_msi(struct pci_dev *pdev) { struct pci_dn *pdn; + int rc; pdn = get_pdn(pdev); if (!pdn) @@ -98,7 +99,12 @@ static void rtas_disable_msi(struct pci_dev *pdev) /* * disabling MSI with the explicit interface also disables MSI-X */ - if (rtas_change_msi(pdn, RTAS_CHANGE_MSI_FN, 0) != 0) { + if (pdn->force_32bit_msi) + rc = rtas_change_msi(pdn, RTAS_CHANGE_32MSI_FN, 0); + else + rc = rtas_change_msi(pdn, RTAS_CHANGE_MSI_FN, 0); + + if ((rc != 0) && !pdn->force_32bit_msi) { /* * may have failed because explicit interface is not * present -- 1.7.7.6
-- Regards, Alexander Gordeev agordeev@redhat.com
| |