diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2016-06-16 09:42:50 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-06-17 01:02:54 -0400 |
commit | ce449ba77a2271dce9771fb1f3eb37e4be6a8b81 (patch) | |
tree | 4dbe695612a22eb864d3239a4dc37835637d5db5 | |
parent | d5d8760b78d0cfafe292f965f599988138b06a70 (diff) |
nfp: use correct index to mask link state irq
We were using an incorrect define to get the irq vector number.
NFP_NET_CFG_LSC is a control BAR offset, LSC interrupt vector
index is called NFP_NET_IRQ_LSC_IDX. For machines with less
than 30 CPUs this meant that we were disabling/enabling IRQ 0.
For bigger hosts we were just playing with the 31st RX/TX
interrupt.
Fixes: 0ba40af963f0 ("nfp: move link state interrupt request/free calls")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index fa47c14c743a..ba26bb356b8d 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c | |||
@@ -2015,7 +2015,7 @@ static void nfp_net_open_stack(struct nfp_net *nn) | |||
2015 | 2015 | ||
2016 | netif_tx_wake_all_queues(nn->netdev); | 2016 | netif_tx_wake_all_queues(nn->netdev); |
2017 | 2017 | ||
2018 | enable_irq(nn->irq_entries[NFP_NET_CFG_LSC].vector); | 2018 | enable_irq(nn->irq_entries[NFP_NET_IRQ_LSC_IDX].vector); |
2019 | nfp_net_read_link_status(nn); | 2019 | nfp_net_read_link_status(nn); |
2020 | } | 2020 | } |
2021 | 2021 | ||
@@ -2044,7 +2044,7 @@ static int nfp_net_netdev_open(struct net_device *netdev) | |||
2044 | NFP_NET_IRQ_LSC_IDX, nn->lsc_handler); | 2044 | NFP_NET_IRQ_LSC_IDX, nn->lsc_handler); |
2045 | if (err) | 2045 | if (err) |
2046 | goto err_free_exn; | 2046 | goto err_free_exn; |
2047 | disable_irq(nn->irq_entries[NFP_NET_CFG_LSC].vector); | 2047 | disable_irq(nn->irq_entries[NFP_NET_IRQ_LSC_IDX].vector); |
2048 | 2048 | ||
2049 | nn->rx_rings = kcalloc(nn->num_rx_rings, sizeof(*nn->rx_rings), | 2049 | nn->rx_rings = kcalloc(nn->num_rx_rings, sizeof(*nn->rx_rings), |
2050 | GFP_KERNEL); | 2050 | GFP_KERNEL); |
@@ -2133,7 +2133,7 @@ static void nfp_net_close_stack(struct nfp_net *nn) | |||
2133 | { | 2133 | { |
2134 | unsigned int r; | 2134 | unsigned int r; |
2135 | 2135 | ||
2136 | disable_irq(nn->irq_entries[NFP_NET_CFG_LSC].vector); | 2136 | disable_irq(nn->irq_entries[NFP_NET_IRQ_LSC_IDX].vector); |
2137 | netif_carrier_off(nn->netdev); | 2137 | netif_carrier_off(nn->netdev); |
2138 | nn->link_up = false; | 2138 | nn->link_up = false; |
2139 | 2139 | ||