[PATCH 06/13][Hirsute/linux-azure] net: mana: Use int to check the return value of mana_gd_poll_cq()

Tim Gardner tim.gardner at canonical.com
Thu Oct 21 12:23:47 UTC 2021

From: Dexuan Cui <decui at microsoft.com>

BugLink: https://bugs.launchpad.net/bugs/1947859

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>
(cherry picked from commit d90a94680bc0a8069d93282bc5f2966d00b9c4a4)
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    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/microsoft/mana/hw_channel.c b/drivers/net/ethernet/microsoft/mana/hw_channel.c
index 0cf0322702ed..1a923fd99990 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 a744ca0b6c19..04d067243457 100644
--- a/drivers/net/ethernet/microsoft/mana/mana_en.c
+++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
@@ -1061,7 +1061,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);

More information about the kernel-team mailing list