[dpdk-dev] [PATCH 3/3] net/enic: suppress unwanted error messages

Hyong Youb Kim hyonkim at cisco.com
Thu Oct 31 06:36:23 CET 2019


Do not log errors when CMD_OVERLAY_OFFLOAD_CTRL and
CMD_GET_SUPP_FEATURE_VER fail, as they are only used to probe if a
feature is provisioned. They are expected to fail if the feature is
not provisioned.

Do not log an error when disabling Geneve offload fails. It is
expected to fail if this feature is provisioned but not enabled.

Fixes: c02a96fc4aec ("net/enic: enable GENEVE with options offload")

Signed-off-by: Hyong Youb Kim <hyonkim at cisco.com>
Reviewed-by: John Daley <johndale at cisco.com>
---
 drivers/net/enic/base/vnic_dev.c |  4 +++-
 drivers/net/enic/enic_main.c     | 11 +++++++----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/net/enic/base/vnic_dev.c b/drivers/net/enic/base/vnic_dev.c
index a52f7430b..899df07df 100644
--- a/drivers/net/enic/base/vnic_dev.c
+++ b/drivers/net/enic/base/vnic_dev.c
@@ -328,7 +328,9 @@ static int _vnic_dev_cmd(struct vnic_dev *vdev, enum vnic_devcmd_cmd cmd,
 		if (!(status & STAT_BUSY)) {
 			if (status & STAT_ERROR) {
 				err = -(int)readq(&devcmd->args[0]);
-				if (cmd != CMD_CAPABILITY)
+				if (cmd != CMD_CAPABILITY &&
+				    cmd != CMD_OVERLAY_OFFLOAD_CTRL &&
+				    cmd != CMD_GET_SUPP_FEATURE_VER)
 					pr_err("Devcmd %d failed " \
 						"with error code %d\n",
 						_CMD_N(cmd), err);
diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index dda0afede..f5b9b0dcb 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -1712,11 +1712,14 @@ static int enic_dev_init(struct enic *enic)
 	 * When Geneve with options offload is available, always disable it
 	 * first as it can interfere with user flow rules.
 	 */
-	if (enic->geneve_opt_avail &&
-	    vnic_dev_overlay_offload_ctrl(enic->vdev,
+	if (enic->geneve_opt_avail) {
+		/*
+		 * Disabling fails if the feature is provisioned but
+		 * not enabled. So ignore result and do not log error.
+		 */
+		vnic_dev_overlay_offload_ctrl(enic->vdev,
 			OVERLAY_FEATURE_GENEVE,
-			OVERLAY_OFFLOAD_DISABLE)) {
-		dev_err(enic, "failed to disable geneve+option\n");
+			OVERLAY_OFFLOAD_DISABLE);
 	}
 	enic->overlay_offload = false;
 	if (enic->disable_overlay && enic->vxlan) {
-- 
2.22.0



More information about the dev mailing list