Even if capability for RSS and IRQ moderation are present we may
have not initialized them for control vNIC.  Depend on selected
features mask (ctrl) rather than capabilities (cap) to determine
which features should be enabled.

Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com>
Reviewed-by: Simon Horman <simon.hor...@netronome.com>
---
 drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c 
b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
index 5e8049a84d16..ae32c0e8d6e6 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
@@ -2201,17 +2201,15 @@ static int nfp_net_set_config_and_enable(struct nfp_net 
*nn)
 
        new_ctrl = nn->dp.ctrl;
 
-       if (nn->cap & NFP_NET_CFG_CTRL_RSS) {
+       if (nn->dp.ctrl & NFP_NET_CFG_CTRL_RSS) {
                nfp_net_rss_write_key(nn);
                nfp_net_rss_write_itbl(nn);
                nn_writel(nn, NFP_NET_CFG_RSS_CTRL, nn->rss_cfg);
                update |= NFP_NET_CFG_UPDATE_RSS;
        }
 
-       if (nn->cap & NFP_NET_CFG_CTRL_IRQMOD) {
+       if (nn->dp.ctrl & NFP_NET_CFG_CTRL_IRQMOD) {
                nfp_net_coalesce_write_cfg(nn);
-
-               new_ctrl |= NFP_NET_CFG_CTRL_IRQMOD;
                update |= NFP_NET_CFG_UPDATE_IRQMOD;
        }
 
-- 
2.11.0

Reply via email to