aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/emulex
diff options
context:
space:
mode:
authorPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>2012-07-17 22:52:15 -0400
committerDavid S. Miller <davem@davemloft.net>2012-07-18 12:28:38 -0400
commit2e177a5c6cc52d8a422c69ba87b8a7e00ecb6eac (patch)
treebae597e4bd286ec64147d92905ab19fc862aab2d /drivers/net/ethernet/emulex
parent0b13fb458fe6d244baaa701049c9a51105224820 (diff)
be2net: Ignore physical link async event for Lancer
The ability of driver to transmit packets depends on logical state of the link. Ignore physical link status. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/emulex')
-rw-r--r--drivers/net/ethernet/emulex/benet/be_cmds.c5
-rw-r--r--drivers/net/ethernet/emulex/benet/be_cmds.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
index 793249053066..7fac97b4bb59 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -141,6 +141,11 @@ static void be_async_link_state_process(struct be_adapter *adapter,
141 /* When link status changes, link speed must be re-queried from FW */ 141 /* When link status changes, link speed must be re-queried from FW */
142 adapter->phy.link_speed = -1; 142 adapter->phy.link_speed = -1;
143 143
144 /* Ignore physical link event */
145 if (lancer_chip(adapter) &&
146 !(evt->port_link_status & LOGICAL_LINK_STATUS_MASK))
147 return;
148
144 /* For the initial link status do not rely on the ASYNC event as 149 /* For the initial link status do not rely on the ASYNC event as
145 * it may not be received in some cases. 150 * it may not be received in some cases.
146 */ 151 */
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.h b/drivers/net/ethernet/emulex/benet/be_cmds.h
index d5a4dedf1132..250f19b5f7b6 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.h
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.h
@@ -93,6 +93,7 @@ enum {
93 LINK_UP = 0x1 93 LINK_UP = 0x1
94}; 94};
95#define LINK_STATUS_MASK 0x1 95#define LINK_STATUS_MASK 0x1
96#define LOGICAL_LINK_STATUS_MASK 0x2
96 97
97/* When the event code of an async trailer is link-state, the mcc_compl 98/* When the event code of an async trailer is link-state, the mcc_compl
98 * must be interpreted as follows 99 * must be interpreted as follows