net/enic: suppress unwanted error messages
authorHyong Youb Kim <hyonkim@cisco.com>
Thu, 31 Oct 2019 05:36:23 +0000 (22:36 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 8 Nov 2019 22:15:05 +0000 (23:15 +0100)
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
drivers/net/enic/enic_main.c

index a52f743..899df07 100644 (file)
@@ -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);
index dda0afe..f5b9b0d 100644 (file)
@@ -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) {