ia64: Fix incorrect return value from ia64_setup_msi_irq()
PATCH 1/1 ia64: Fix incorrect return value from ia64_setup_msi_irq()
Hi,
Here is a patch to fix the problem that pci_enable_msi() always fails on ia64 platform.
Thanks,
Kenji Kaneshige
---
Fix the problem that pci_enable_msi() fails on ia64 platform. The cause of this problem is incorrect return value of ia64_setup_msi_irq(). It must return 0 on success, instead of irq number.
--- arch/ia64/kernel/msi_ia64.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6.24-rc1/arch/ia64/kernel/msi_ia64.c =================================--- linux-2.6.24-rc1.orig/arch/ia64/kernel/msi_ia64.c +++ linux-2.6.24-rc1/arch/ia64/kernel/msi_ia64.c
@@ -109,7 +109,7 @@ int ia64_setup_msi_irq(struct pci_dev *p
write_msi_msg(irq, &msg);
set_irq_chip_and_handler(irq, &ia64_msi_chip, handle_edge_irq);
- return irq;
+ return 0;
}
void ia64_teardown_msi_irq(unsigned int irq)
Someone just pointed me at the patch mentioned in:
http://marc.info/?l=linux-ia64&m9372797223157&w=2
I can confirm that patch does good things for me - I was having problems with enabling MSI-X on an s2io-driven NIC before applying the patch to a 2.6.24-rc1 tree. With the patch in place that problem is gone. So, if the patch can make -rc2 that would be goodness.
rick jones
This patch fixes a problem we encountered enabling msi-x on the ia64 platform, on 2.6.24-rc1. Please accept this patch as without it, pci_enable_msix() will always fail on ia64 platforms.
Quoted 11 lines
hpcpc103:~# ethtool -i eth7 driver: Neterion version: 2.0.26.5 firmware-version: bus-info: 0000:0f:01.0 hpcpc103:~# ifconfig eth7 192.168.7.103 eth7: Enabling MSIX failed eth7: MSI-X requested but failed to enable eth7: Link Up ADDRCONF(NETDEV_UP): eth7: link is not ready hpcpc103:~# ADDRCONF(NETDEV_CHANGE): eth7: link becomes ready
Thanks,
Ram
Quoted 10 lines
-----Original Message-----
From: [email protected] [mailto:linux-ia64- [email protected]] On Behalf Of Kenji Kaneshige
Sent: Monday, October 29, 2007 11:02 PM
To: [email protected]; Luck, Tony
Subject: [PATCH] ia64: Fix incorrect return value fromia64_setup_msi_irq()Hi,
Quoted 8 lines
Here is a patch to fix the problem that
pci_enable_msi()always fails on ia64 platform.Thanks,
Kenji Kaneshige
---Fix the problem that
pci_enable_msi()fails on ia64 platform. The
cause of
Quoted 1 line
this problem is incorrect return value of
ia64_setup_msi_irq(). It
must
Quoted 22 lines
return 0 on success, instead of irq number.
Signed-off-by Kenji Kaneshige <[email protected]>--- arch/ia64/kernel/msi_ia64.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-)Index:
linux-2.6.24-rc1/arch/ia64/kernel/msi_ia64.c=================================> ---linux-2.6.24-rc1.orig/arch/ia64/kernel/msi_ia64.c+++linux-2.6.24-rc1/arch/ia64/kernel/msi_ia64.c(quoted diff) +1
-2@@ -109,7 +109,7 @@ int ia64_setup_msi_irq(struct pci_dev *p write_msi_msg(irq, &msg); set_irq_chip_and_handler(irq, &ia64_msi_chip, handle_edge_irq); - return irq; + return 0; } void ia64_teardown_msi_irq(unsigned int irq) -
Quoted 1 line
To unsubscribe from this list: send the line "unsubscribe linux-ia64"
in
Quoted 2 lines
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html