Commit 1f06f7d9 authored by Jeroen de Borst's avatar Jeroen de Borst Committed by Jakub Kicinski

gve: Correct order of processing device options

The legacy raw addressing device option was processed before the
new RDA queue format option.  This caused the supported features mask,
which is provided only on the RDA queue format option, not to be set.

This disabled jumbo-frame support when using raw adressing.

Fixes: 255489f5 ("gve: Add a jumbo-frame device option")
Signed-off-by: default avatarJeroen de Borst <jeroendb@google.com>
Link: https://lore.kernel.org/r/20211220192746.2900594-1-jeroendb@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 1ed1d592
...@@ -738,10 +738,7 @@ int gve_adminq_describe_device(struct gve_priv *priv) ...@@ -738,10 +738,7 @@ int gve_adminq_describe_device(struct gve_priv *priv)
* is not set to GqiRda, choose the queue format in a priority order: * is not set to GqiRda, choose the queue format in a priority order:
* DqoRda, GqiRda, GqiQpl. Use GqiQpl as default. * DqoRda, GqiRda, GqiQpl. Use GqiQpl as default.
*/ */
if (priv->queue_format == GVE_GQI_RDA_FORMAT) { if (dev_op_dqo_rda) {
dev_info(&priv->pdev->dev,
"Driver is running with GQI RDA queue format.\n");
} else if (dev_op_dqo_rda) {
priv->queue_format = GVE_DQO_RDA_FORMAT; priv->queue_format = GVE_DQO_RDA_FORMAT;
dev_info(&priv->pdev->dev, dev_info(&priv->pdev->dev,
"Driver is running with DQO RDA queue format.\n"); "Driver is running with DQO RDA queue format.\n");
...@@ -753,6 +750,9 @@ int gve_adminq_describe_device(struct gve_priv *priv) ...@@ -753,6 +750,9 @@ int gve_adminq_describe_device(struct gve_priv *priv)
"Driver is running with GQI RDA queue format.\n"); "Driver is running with GQI RDA queue format.\n");
supported_features_mask = supported_features_mask =
be32_to_cpu(dev_op_gqi_rda->supported_features_mask); be32_to_cpu(dev_op_gqi_rda->supported_features_mask);
} else if (priv->queue_format == GVE_GQI_RDA_FORMAT) {
dev_info(&priv->pdev->dev,
"Driver is running with GQI RDA queue format.\n");
} else { } else {
priv->queue_format = GVE_GQI_QPL_FORMAT; priv->queue_format = GVE_GQI_QPL_FORMAT;
if (dev_op_gqi_qpl) if (dev_op_gqi_qpl)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment