diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2008-08-25 22:19:17 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-25 22:19:17 (GMT) |
commit | 2772f9037355a031725987661621290380e58f52 (patch) | |
tree | e5553fb83bf504ffd632742999cc13fcfdbcbd18 /drivers/net/bnx2x.h | |
parent | ce3113ec57abcd41cc5a2fed02474aee3f63d12c (diff) | |
download | linux-2772f9037355a031725987661621290380e58f52.tar.xz |
bnx2x: Rx work check
The has Rx work check was wrong: when the FW was at the end of the page,
the driver was already at the beginning of the next page. Since the
check only validated that both driver and FW are pointing to the same
place, it concluded that there is still work to be done. This caused
some serious issues including long latency results on ping-pong test and
lockups while unloading the driver in that condition.
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x.h')
-rw-r--r-- | drivers/net/bnx2x.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/bnx2x.h b/drivers/net/bnx2x.h index b468f90..a14dba1 100644 --- a/drivers/net/bnx2x.h +++ b/drivers/net/bnx2x.h @@ -271,7 +271,7 @@ struct bnx2x_fastpath { (fp->tx_pkt_prod != fp->tx_pkt_cons)) #define BNX2X_HAS_RX_WORK(fp) \ - (fp->rx_comp_cons != le16_to_cpu(*fp->rx_cons_sb)) + (fp->rx_comp_cons != rx_cons_sb) #define BNX2X_HAS_WORK(fp) (BNX2X_HAS_RX_WORK(fp) || BNX2X_HAS_TX_WORK(fp)) |