Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1187b3b authored by Ajit Khaparde's avatar Ajit Khaparde Committed by David S. Miller
Browse files

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: default avatarAjit Khaparde <ajitk@serverengines.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 72279093
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -759,7 +759,7 @@ static void be_rx_compl_process(struct be_adapter *adapter,


	/* vlanf could be wrongly set in some cards.
	/* vlanf could be wrongly set in some cards.
	 * ignore if vtm is not set */
	 * ignore if vtm is not set */
	if ((adapter->cap == 0x400) && !vtm)
	if ((adapter->cap & 0x400) && !vtm)
		vlanf = 0;
		vlanf = 0;


	skb = netdev_alloc_skb_ip_align(adapter->netdev, BE_HDR_LEN);
	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.
	/* vlanf could be wrongly set in some cards.
	 * ignore if vtm is not set */
	 * ignore if vtm is not set */
	if ((adapter->cap == 0x400) && !vtm)
	if ((adapter->cap & 0x400) && !vtm)
		vlanf = 0;
		vlanf = 0;


	skb = napi_get_frags(&eq_obj->napi);
	skb = napi_get_frags(&eq_obj->napi);