diff options
| author | Michael Chan <mchan@broadcom.com> | 2007-03-28 17:17:36 -0400 | 
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2007-03-28 23:23:52 -0400 | 
| commit | db8b22550d4b83f0910d27a34d05aa16f7f7159f (patch) | |
| tree | e10289596ad86477e5911ce4efba6bc677e466ce /drivers | |
| parent | 190a4408ecb577391ea5fbd1f90148a6992a5756 (diff) | |
[BNX2]: Fix link interrupt problem.
bnx2_has_work()'s logic is flawed and can cause the driver to miss
a link event.  The fix is to compare the status block's attn_bits
and attn_bits_ack to determine if there is a link event.
Update version to 1.5.6.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/bnx2.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index c12e5ea61819..d43fe2863095 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c  | |||
| @@ -54,8 +54,8 @@ | |||
| 54 | 54 | ||
| 55 | #define DRV_MODULE_NAME "bnx2" | 55 | #define DRV_MODULE_NAME "bnx2" | 
| 56 | #define PFX DRV_MODULE_NAME ": " | 56 | #define PFX DRV_MODULE_NAME ": " | 
| 57 | #define DRV_MODULE_VERSION "1.5.5" | 57 | #define DRV_MODULE_VERSION "1.5.6" | 
| 58 | #define DRV_MODULE_RELDATE "February 1, 2007" | 58 | #define DRV_MODULE_RELDATE "March 28, 2007" | 
| 59 | 59 | ||
| 60 | #define RUN_AT(x) (jiffies + (x)) | 60 | #define RUN_AT(x) (jiffies + (x)) | 
| 61 | 61 | ||
| @@ -2033,8 +2033,8 @@ bnx2_has_work(struct bnx2 *bp) | |||
| 2033 | (sblk->status_tx_quick_consumer_index0 != bp->hw_tx_cons)) | 2033 | (sblk->status_tx_quick_consumer_index0 != bp->hw_tx_cons)) | 
| 2034 | return 1; | 2034 | return 1; | 
| 2035 | 2035 | ||
| 2036 | if (((sblk->status_attn_bits & STATUS_ATTN_BITS_LINK_STATE) != 0) != | 2036 | if ((sblk->status_attn_bits & STATUS_ATTN_BITS_LINK_STATE) != | 
| 2037 | bp->link_up) | 2037 | (sblk->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE)) | 
| 2038 | return 1; | 2038 | return 1; | 
| 2039 | 2039 | ||
| 2040 | return 0; | 2040 | return 0; | 
