kernel_samsung_a53x/drivers/net/ethernet/intel/ixgbe
Maciej Fijalkowski 572c16f2e9 ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able
[ Upstream commit cbf996f52c4e658b3fb4349a869a62fd2d4c3c1c ]

Currently routines that are supposed to toggle state of ring pair do not
take care of associated interrupt with queue vector that these rings
belong to. This causes funky issues such as dead interface due to irq
misconfiguration, as per Pavel's report from Closes: tag.

Add a function responsible for disabling single IRQ in EIMC register and
call this as a very first thing when disabling ring pair during xsk_pool
setup. For enable let's reuse ixgbe_irq_enable_queues(). Besides this,
disable/enable NAPI as first/last thing when dealing with closing or
opening ring pair that xsk_pool is being configured on.

Reported-by: Pavel Vazharov <pavel@x3me.net>
Closes: https://lore.kernel.org/netdev/CAJEV1ijxNyPTwASJER1bcZzS9nMoZJqfR86nu_3jFFVXzZQ4NA@mail.gmail.com/
Fixes: 024aa5800f32 ("ixgbe: added Rx/Tx ring disable/enable functions")
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-18 23:19:34 +01:00
..
ixgbe.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_82598.c ixgbe: Refactor returning internal error codes 2024-11-18 12:13:22 +01:00
ixgbe_82599.c ixgbe: Refactor returning internal error codes 2024-11-18 12:13:22 +01:00
ixgbe_common.c ixgbe: Refactor returning internal error codes 2024-11-18 12:13:22 +01:00
ixgbe_common.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_dcb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_dcb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_dcb_82598.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_dcb_82598.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_dcb_82599.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_dcb_82599.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_dcb_nl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_ethtool.c ixgbe: Refactor returning internal error codes 2024-11-18 12:13:22 +01:00
ixgbe_fcoe.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_fcoe.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_ipsec.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_ipsec.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_lib.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_main.c ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able 2024-11-18 23:19:34 +01:00
ixgbe_mbx.c ixgbe: Refactor returning internal error codes 2024-11-18 12:13:22 +01:00
ixgbe_mbx.h ixgbe: Refactor returning internal error codes 2024-11-18 12:13:22 +01:00
ixgbe_model.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_phy.c ixgbe: Refactor overtemp event handling 2024-11-18 12:13:22 +01:00
ixgbe_phy.h ixgbe: Refactor overtemp event handling 2024-11-18 12:13:22 +01:00
ixgbe_ptp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_sriov.c ixgbe: Refactor returning internal error codes 2024-11-18 12:13:22 +01:00
ixgbe_sriov.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_sysfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_txrx_common.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_type.h ixgbe: Refactor overtemp event handling 2024-11-18 12:13:22 +01:00
ixgbe_x540.c ixgbe: Refactor returning internal error codes 2024-11-18 12:13:22 +01:00
ixgbe_x540.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ixgbe_x550.c ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550() 2024-11-18 12:13:22 +01:00
ixgbe_xsk.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00