diff options
author | Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com> | 2012-07-18 02:52:15 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-18 09:28:38 -0700 |
commit | 2e177a5c6cc52d8a422c69ba87b8a7e00ecb6eac (patch) | |
tree | bae597e4bd286ec64147d92905ab19fc862aab2d | |
parent | 0b13fb458fe6d244baaa701049c9a51105224820 (diff) | |
download | kernel_goldelico_gta04-2e177a5c6cc52d8a422c69ba87b8a7e00ecb6eac.zip kernel_goldelico_gta04-2e177a5c6cc52d8a422c69ba87b8a7e00ecb6eac.tar.gz kernel_goldelico_gta04-2e177a5c6cc52d8a422c69ba87b8a7e00ecb6eac.tar.bz2 |
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>
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_cmds.c | 5 | ||||
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_cmds.h | 1 |
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 7932490..7fac97b 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, /* When link status changes, link speed must be re-queried from FW */ adapter->phy.link_speed = -1; + /* Ignore physical link event */ + if (lancer_chip(adapter) && + !(evt->port_link_status & LOGICAL_LINK_STATUS_MASK)) + return; + /* For the initial link status do not rely on the ASYNC event as * it may not be received in some cases. */ diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.h b/drivers/net/ethernet/emulex/benet/be_cmds.h index d5a4ded..250f19b 100644 --- a/drivers/net/ethernet/emulex/benet/be_cmds.h +++ b/drivers/net/ethernet/emulex/benet/be_cmds.h @@ -93,6 +93,7 @@ enum { LINK_UP = 0x1 }; #define LINK_STATUS_MASK 0x1 +#define LOGICAL_LINK_STATUS_MASK 0x2 /* When the event code of an async trailer is link-state, the mcc_compl * must be interpreted as follows |