Skip to contentSkip to conversation

ia64: Fix incorrect return value from ia64_setup_msi_irq()

PATCH In review Kenji Kaneshige 3 participants 3 messages Oct 30, 2007

lore
Share & tools
lore
#0 lore raw

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)

#1 lore raw

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

#2 lore raw
In reply to Kenji Kaneshige

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 from ia64_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.

---
 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