aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorDhananjay Phadke <dhananjay@netxen.com>2009-04-28 11:29:09 -0400
committerDavid S. Miller <davem@davemloft.net>2009-04-29 01:44:30 -0400
commit5103c9f7874506cb40fc3c8d3f22486d3c4d91aa (patch)
tree9464c9519fda02f2b58b2e91ef7b3688ba201fce /drivers/net
parent6c31d55f755ff2bc1f7dc3b45c500032fe90aff8 (diff)
netxen: fix link event handling
Firmware starting 4.0.402 started supporting link events, disable it for older firmwares. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/netxen/netxen_nic_ethtool.c1
-rw-r--r--drivers/net/netxen/netxen_nic_main.c2
-rw-r--r--drivers/net/netxen/netxen_nic_phan_reg.h2
3 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c
index a452b2facb7..e16ea46c24b 100644
--- a/drivers/net/netxen/netxen_nic_ethtool.c
+++ b/drivers/net/netxen/netxen_nic_ethtool.c
@@ -247,6 +247,7 @@ skip:
247 case LINKEVENT_MODULE_TWINAX_UNSUPPORTED_CABLELEN: 247 case LINKEVENT_MODULE_TWINAX_UNSUPPORTED_CABLELEN:
248 case LINKEVENT_MODULE_TWINAX: 248 case LINKEVENT_MODULE_TWINAX:
249 ecmd->port = PORT_TP; 249 ecmd->port = PORT_TP;
250 break;
250 default: 251 default:
251 ecmd->port = -1; 252 ecmd->port = -1;
252 } 253 }
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index e877eefdfeb..8331580fe16 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -797,7 +797,7 @@ netxen_nic_up(struct netxen_adapter *adapter, struct net_device *netdev)
797 if (adapter->max_sds_rings > 1) 797 if (adapter->max_sds_rings > 1)
798 netxen_config_rss(adapter, 1); 798 netxen_config_rss(adapter, 1);
799 799
800 if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) 800 if (adapter->capabilities & NX_FW_CAPABILITY_LINK_NOTIFICATION)
801 netxen_linkevent_request(adapter, 1); 801 netxen_linkevent_request(adapter, 1);
802 802
803 return 0; 803 return 0;
diff --git a/drivers/net/netxen/netxen_nic_phan_reg.h b/drivers/net/netxen/netxen_nic_phan_reg.h
index 845dcf436cf..b73a62ca74f 100644
--- a/drivers/net/netxen/netxen_nic_phan_reg.h
+++ b/drivers/net/netxen/netxen_nic_phan_reg.h
@@ -126,6 +126,7 @@
126#define CRB_SW_INT_MASK_2 NETXEN_NIC_REG(0x1e4) 126#define CRB_SW_INT_MASK_2 NETXEN_NIC_REG(0x1e4)
127#define CRB_SW_INT_MASK_3 NETXEN_NIC_REG(0x1e8) 127#define CRB_SW_INT_MASK_3 NETXEN_NIC_REG(0x1e8)
128 128
129#define CRB_FW_CAPABILITIES_1 NETXEN_CAM_RAM(0x128)
129#define CRB_MAC_BLOCK_START NETXEN_CAM_RAM(0x1c0) 130#define CRB_MAC_BLOCK_START NETXEN_CAM_RAM(0x1c0)
130 131
131/* 132/*
@@ -136,7 +137,6 @@
136#define CRB_NIC_CAPABILITIES_FW NETXEN_NIC_REG(0x1dc) 137#define CRB_NIC_CAPABILITIES_FW NETXEN_NIC_REG(0x1dc)
137#define CRB_NIC_MSI_MODE_HOST NETXEN_NIC_REG(0x270) 138#define CRB_NIC_MSI_MODE_HOST NETXEN_NIC_REG(0x270)
138#define CRB_NIC_MSI_MODE_FW NETXEN_NIC_REG(0x274) 139#define CRB_NIC_MSI_MODE_FW NETXEN_NIC_REG(0x274)
139#define CRB_FW_CAPABILITIES_1 NETXEN_NIC_REG(0x128)
140 140
141#define INTR_SCHEME_PERPORT 0x1 141#define INTR_SCHEME_PERPORT 0x1
142#define MSI_MODE_MULTIFUNC 0x1 142#define MSI_MODE_MULTIFUNC 0x1