diff options
| author | Ajit Khaparde <ajitk@serverengines.com> | 2009-12-12 01:59:09 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-12-12 01:59:09 -0500 |
| commit | e1187b3be72be59625e445b186007e6eae27fef1 (patch) | |
| tree | 7b1204372d860ce357e651d3817db3f857019ee2 | |
| parent | 7227909340477c1e5225bb2df76cdcc95b5e1da1 (diff) | |
be2net: fix error in rx completion processing.
There are certain skews of the NIC which have multiple bits set in
adapter->cap. Use & instead of == to process rx completions.
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/benet/be_main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 24c7d9900baa..3a1f7902c16d 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c | |||
| @@ -759,7 +759,7 @@ static void be_rx_compl_process(struct be_adapter *adapter, | |||
| 759 | 759 | ||
| 760 | /* vlanf could be wrongly set in some cards. | 760 | /* vlanf could be wrongly set in some cards. |
| 761 | * ignore if vtm is not set */ | 761 | * ignore if vtm is not set */ |
| 762 | if ((adapter->cap == 0x400) && !vtm) | 762 | if ((adapter->cap & 0x400) && !vtm) |
| 763 | vlanf = 0; | 763 | vlanf = 0; |
| 764 | 764 | ||
| 765 | skb = netdev_alloc_skb_ip_align(adapter->netdev, BE_HDR_LEN); | 765 | skb = netdev_alloc_skb_ip_align(adapter->netdev, BE_HDR_LEN); |
| @@ -816,7 +816,7 @@ static void be_rx_compl_process_gro(struct be_adapter *adapter, | |||
| 816 | 816 | ||
| 817 | /* vlanf could be wrongly set in some cards. | 817 | /* vlanf could be wrongly set in some cards. |
| 818 | * ignore if vtm is not set */ | 818 | * ignore if vtm is not set */ |
| 819 | if ((adapter->cap == 0x400) && !vtm) | 819 | if ((adapter->cap & 0x400) && !vtm) |
| 820 | vlanf = 0; | 820 | vlanf = 0; |
| 821 | 821 | ||
| 822 | skb = napi_get_frags(&eq_obj->napi); | 822 | skb = napi_get_frags(&eq_obj->napi); |
