[3/3] net/enic: suppress unwanted error messages

Message ID 20191031053623.16185-4-hyonkim@cisco.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/enic: fixes for cosmetic issues |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/travis-robot warning Travis build: failed
ci/checkpatch success coding style OK

Commit Message

Hyong Youb Kim (hyonkim) Oct. 31, 2019, 5:36 a.m. UTC
  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@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/base/vnic_dev.c |  4 +++-
 drivers/net/enic/enic_main.c     | 11 +++++++----
 2 files changed, 10 insertions(+), 5 deletions(-)
  

Patch

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) {