OSDN Git Service

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 5e8049a..ae32c0e 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;
        }