[PATCH 1/4] netxen: fix portnum for hp mezz cards

Previous thread: [PATCH 0/4] netxen bug fixes by Dhananjay Phadke on Sunday, June 15, 2008 - 10:59 pm. (1 message)

Next thread: [PATCH 3/4] netxen: cleanup debug messages by Dhananjay Phadke on Sunday, June 15, 2008 - 10:59 pm. (1 message)
From: Dhananjay Phadke
Date: Sunday, June 15, 2008 - 10:59 pm

Store physical port number in netxen_adapter structure.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
---
 drivers/net/netxen/netxen_nic.h         |    2 +-
 drivers/net/netxen/netxen_nic_ethtool.c |    6 +++---
 drivers/net/netxen/netxen_nic_hw.c      |    8 ++++----
 drivers/net/netxen/netxen_nic_isr.c     |    4 ++--
 drivers/net/netxen/netxen_nic_main.c    |    4 +---
 drivers/net/netxen/netxen_nic_niu.c     |   22 +++++++++++-----------
 6 files changed, 22 insertions(+), 24 deletions(-)

diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h
index 8cb29f5..ec2ed89 100644
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@ -863,6 +863,7 @@ struct netxen_adapter {
 	unsigned char mac_addr[ETH_ALEN];
 	int mtu;
 	int portnum;
+	u8 physical_port;
 
 	struct work_struct watchdog_task;
 	struct timer_list watchdog_timer;
@@ -1169,5 +1170,4 @@ extern int netxen_rom_fast_read(struct netxen_adapter *adapter, int addr,
 
 extern struct ethtool_ops netxen_nic_ethtool_ops;
 
-extern int physical_port[];	/* physical port # from virtual port.*/
 #endif				/* __NETXEN_NIC_H_ */
diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c
index 6e98d83..723487b 100644
--- a/drivers/net/netxen/netxen_nic_ethtool.c
+++ b/drivers/net/netxen/netxen_nic_ethtool.c
@@ -369,7 +369,7 @@ netxen_nic_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *p)
 		for (i = 3; niu_registers[mode].reg[i - 3] != -1; i++) {
 			/* GB: port specific registers */
 			if (mode == 0 && i >= 19)
-				window = physical_port[adapter->portnum] *
+				window = adapter->physical_port *
 					NETXEN_NIC_PORT_WINDOW;
 
 			NETXEN_NIC_LOCKED_READ_REG(niu_registers[mode].
@@ -527,7 +527,7 @@ netxen_nic_get_pauseparam(struct net_device *dev,
 {
 	struct netxen_adapter *adapter = netdev_priv(dev);
 	__u32 val;
-	int port = physical_port[adapter->portnum];
+	int port = adapter->physical_port;
 
 	if ...
From: Dhananjay Phadke
Date: Sunday, June 15, 2008 - 10:59 pm

This fixes a the issue where logical port number is set incorrectly
for HP blade mezz cards.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
---
 drivers/net/netxen/netxen_nic_main.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 7144c25..5a2fd21 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -530,9 +530,15 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	netxen_initialize_adapter_sw(adapter);	/* initialize the buffers in adapter */
 
 	/* Mezz cards have PCI function 0,2,3 enabled */
-	if ((adapter->ahw.boardcfg.board_type == NETXEN_BRDTYPE_P2_SB31_10G_IMEZ)
-		&& (pci_func_id >= 2))
+	switch (adapter->ahw.boardcfg.board_type) {
+	case NETXEN_BRDTYPE_P2_SB31_10G_IMEZ:
+	case NETXEN_BRDTYPE_P2_SB31_10G_HMEZ:
+		if (pci_func_id >= 2)
 			adapter->portnum = pci_func_id - 2;
+		break;
+	default:
+		break;
+	}
 
 #ifdef CONFIG_IA64
 	if(adapter->portnum == 0) {
-- 
1.5.4.3

--

From: Jeff Garzik
Date: Tuesday, June 17, 2008 - 8:25 pm

applied


--

Previous thread: [PATCH 0/4] netxen bug fixes by Dhananjay Phadke on Sunday, June 15, 2008 - 10:59 pm. (1 message)

Next thread: [PATCH 3/4] netxen: cleanup debug messages by Dhananjay Phadke on Sunday, June 15, 2008 - 10:59 pm. (1 message)