linux/drivers/net/ethernet/intel
Brett Creeley 0e04e8e14b ice: fix issue where host reboots on unload when iommu=on
Currently if the kernel has the intel_iommu=on parameter set, on some
platforms removing the driver causes a system reboot. In initialization
we associate the control queue interrupts with the pf->hw_oicr_idx and
enable the interrupts by setting the CAUSE_ENA bit. The problem comes
on teardown because we are not clearing the CAUSE_ENA bit for the
control queues, but the vector at pf->hw_oicr_idx (miscellaneous
interrupt vector) gets disabled.

Fix this by clearing the CAUSE_ENA bit in the appropriate control queue
registers on when freeing the miscellaneous interrupt vector. Also,
move the call to ice_free_irq_msix_misc() to after ice_deinit_sw() in
ice_remove() because ice_deinit_sw() makes an AQ call, but
ice_free_irq_msix_misc() disables the miscellaneous vector and it's
associated interrupts.

Also, create two small helper functions to enable and disable the
control queue interrupts respectively.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2019-02-25 08:56:01 -08:00
..
e1000 cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
e1000e e1000e: Fix -Wformat-truncation warnings 2019-02-23 13:44:57 -08:00
fm10k fm10k: use struct_size() in kzalloc() 2019-02-08 22:57:28 -08:00
i40e Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-24 12:06:19 -08:00
iavf flow_offload: add flow_rule and flow_match structures and use them 2019-02-06 10:38:25 -08:00
ice ice: fix issue where host reboots on unload when iommu=on 2019-02-25 08:56:01 -08:00
igb igb: use struct_size() helper 2019-02-08 23:03:48 -08:00
igbvf ethernet/intel: consolidate NAPI and NAPI exit 2018-11-21 10:35:23 -08:00
igc igc: Use struct_size() helper 2019-02-08 23:03:48 -08:00
ixgb cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
ixgbe Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-24 12:06:19 -08:00
ixgbevf xfrm: prefer secpath_set over secpath_dup 2018-12-19 11:21:38 -08:00
e100.c e100: Fix passing zero to 'PTR_ERR' warning in e100_load_ucode_wait 2018-12-20 11:54:27 -08:00
Kconfig ixgbe: fix Kconfig when driver is not a module 2019-01-04 14:02:16 -08:00
Makefile igc: Add skeletal frame for Intel(R) 2.5G Ethernet Controller support 2018-10-17 12:14:54 -07:00