nvethernet: Check bit in rxcsum flag.

Issue:
- rxcsum is used as container of flags instead of
  value place holder.

Fix:
- Use binary operation to fetch required bit
  for necessity of checksum.

Bug 200610815
Change-Id: Ie6f3e79868edde2393186a06f257ba4b57dae0ac
Signed-off-by: Gaurav Asati <gasati@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2333164
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Gaurav Asati
2020-04-23 11:55:09 +05:30
committed by Revanth Kumar Uppala
parent 7bffef3081
commit e62d719a99

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved. * Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License, * under the terms and conditions of the GNU General Public License,
@@ -253,7 +253,8 @@ void osd_receive_packet(void *priv, void *rxring, unsigned int chan,
OSI_PKT_CX_VALID)) { OSI_PKT_CX_VALID)) {
skb_put(skb, rx_pkt_cx->pkt_len); skb_put(skb, rx_pkt_cx->pkt_len);
if (likely(rx_pkt_cx->rxcsum == OSI_CHECKSUM_UNNECESSARY)) { if (likely((rx_pkt_cx->rxcsum & OSI_CHECKSUM_UNNECESSARY) ==
OSI_CHECKSUM_UNNECESSARY)) {
skb->ip_summed = CHECKSUM_UNNECESSARY; skb->ip_summed = CHECKSUM_UNNECESSARY;
} else { } else {
skb->ip_summed = CHECKSUM_NONE; skb->ip_summed = CHECKSUM_NONE;