Skip to content

Commit

Permalink
be2net: Ignore physical link async event for Lancer
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Padmanabh Ratnakar authored and David S. Miller committed Jul 18, 2012
1 parent 0b13fb4 commit 2e177a5
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/net/ethernet/emulex/benet/be_cmds.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*/
Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/emulex/benet/be_cmds.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 2e177a5

Please sign in to comment.