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 /drivers/net | |
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>
Diffstat (limited to 'drivers/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); |