be2net: fix error in rx completion processing.
authorAjit Khaparde <ajitk@serverengines.com>
Sat, 12 Dec 2009 06:59:09 +0000 (22:59 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Dec 2009 06:59:09 +0000 (22:59 -0800)
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>
drivers/net/benet/be_main.c

index 24c7d9900baab5c053ac274255af4d5ae1fe166b..3a1f7902c16df0b51ad3be1803e92b3d2b23bb6c 100644 (file)
@@ -759,7 +759,7 @@ static void be_rx_compl_process(struct be_adapter *adapter,
 
        /* vlanf could be wrongly set in some cards.
         * ignore if vtm is not set */
-       if ((adapter->cap == 0x400) && !vtm)
+       if ((adapter->cap & 0x400) && !vtm)
                vlanf = 0;
 
        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,
 
        /* vlanf could be wrongly set in some cards.
         * ignore if vtm is not set */
-       if ((adapter->cap == 0x400) && !vtm)
+       if ((adapter->cap & 0x400) && !vtm)
                vlanf = 0;
 
        skb = napi_get_frags(&eq_obj->napi);