nfp: don't assume RSS and IRQ moderation are always enabled
authorJakub Kicinski <jakub.kicinski@netronome.com>
Tue, 16 May 2017 00:55:18 +0000 (17:55 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 May 2017 16:59:02 +0000 (12:59 -0400)
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.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_net_common.c

index 5e8049a84d162805b9803f596d361b0c356a7ccc..ae32c0e8d6e6583ae7f2ed5e8b1ad7f6492c4828 100644 (file)
@@ -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;
        }