[PATCH 6/6][focal:linux-azure] net: mana: Use int to check the return value of mana_gd_poll_cq()
Tim Gardner
tim.gardner at canonical.com
Tue May 18 11:58:02 UTC 2021
From: Dexuan Cui <decui at microsoft.com>
BugLink: https://bugs.launchpad.net/bugs/1928788
mana_gd_poll_cq() may return -1 if an overflow error is detected (this
should never happen unless there is a bug in the driver or the hardware).
Fix the type of the variable "comp_read" by using int rather than u32.
Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
Fixes: ca9c54d2d6a5 ("net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)")
Signed-off-by: Dexuan Cui <decui at microsoft.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
(backported from commit d90a94680bc0a8069d93282bc5f2966d00b9c4a4)
[rtg - Fence off netdev_lockdep_set_classes()]
Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
---
drivers/net/ethernet/microsoft/mana/hw_channel.c | 2 +-
drivers/net/ethernet/microsoft/mana/mana_en.c | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/microsoft/mana/hw_channel.c b/drivers/net/ethernet/microsoft/mana/hw_channel.c
index 0cf0322702ed2..1a923fd999903 100644
--- a/drivers/net/ethernet/microsoft/mana/hw_channel.c
+++ b/drivers/net/ethernet/microsoft/mana/hw_channel.c
@@ -283,7 +283,7 @@ static void mana_hwc_comp_event(void *ctx, struct gdma_queue *q_self)
struct hwc_rx_oob comp_data = {};
struct gdma_comp *completions;
struct hwc_cq *hwc_cq = ctx;
- u32 comp_read, i;
+ int comp_read, i;
WARN_ON_ONCE(hwc_cq->gdma_cq != q_self);
diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c
index a744ca0b6c193..987e11c02f727 100644
--- a/drivers/net/ethernet/microsoft/mana/mana_en.c
+++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
@@ -8,6 +8,7 @@
#include <net/checksum.h>
#include <net/ip6_checksum.h>
+#include <linux/version.h>
#include "mana.h"
@@ -1061,7 +1062,7 @@ static void mana_process_rx_cqe(struct mana_rxq *rxq, struct mana_cq *cq,
static void mana_poll_rx_cq(struct mana_cq *cq)
{
struct gdma_comp *comp = cq->gdma_comp_buf;
- u32 comp_read, i;
+ int comp_read, i;
comp_read = mana_gd_poll_cq(cq->gdma_cq, comp, CQE_POLLING_BUFFER);
WARN_ON_ONCE(comp_read > CQE_POLLING_BUFFER);
@@ -1787,8 +1788,9 @@ static int mana_probe_port(struct mana_context *ac, int port_idx,
if (err)
goto free_net;
- netdev_lockdep_set_classes(ndev);
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,6)
+ netdev_lockdep_set_classes(ndev);
+#endif
ndev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
ndev->hw_features |= NETIF_F_RXCSUM;
ndev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
--
2.17.1
More information about the kernel-team
mailing list