net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES
authorAjay Sharma <sharmaajay@microsoft.com>
Thu, 3 Nov 2022 19:16:27 +0000 (12:16 -0700)
committerLeon Romanovsky <leonro@nvidia.com>
Thu, 10 Nov 2022 05:57:27 +0000 (07:57 +0200)
When doing memory registration, the PF may respond with
GDMA_STATUS_MORE_ENTRIES to indicate a follow request is needed. This is
not an error and should be processed as expected.

Signed-off-by: Ajay Sharma <sharmaajay@microsoft.com>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Long Li <longli@microsoft.com>
Link: https://lore.kernel.org/r/1667502990-2559-10-git-send-email-longli@linuxonhyperv.com
Acked-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
drivers/net/ethernet/microsoft/mana/hw_channel.c
include/net/mana/gdma.h

index 76829ab..9d1507e 100644 (file)
@@ -836,7 +836,7 @@ int mana_hwc_send_request(struct hw_channel_context *hwc, u32 req_len,
                goto out;
        }
 
-       if (ctx->status_code) {
+       if (ctx->status_code && ctx->status_code != GDMA_STATUS_MORE_ENTRIES) {
                dev_err(hwc->dev, "HWC: Failed hw_channel req: 0x%x\n",
                        ctx->status_code);
                err = -EPROTO;
index 0b0c0cd..a9b7930 100644 (file)
@@ -9,6 +9,8 @@
 
 #include "shm_channel.h"
 
+#define GDMA_STATUS_MORE_ENTRIES       0x00000105
+
 /* Structures labeled with "HW DATA" are exchanged with the hardware. All of
  * them are naturally aligned and hence don't need __packed.
  */