linux-stable/drivers/net/ethernet/intel
Aaron Ma 4b79959510 igc: fix page fault when thunderbolt is unplugged
After unplug thunderbolt dock with i225, pciehp interrupt is triggered,
remove call will read/write mmio address which is already disconnected,
then cause page fault and make system hang.

Check PCI state to remove device safely.

Trace:
BUG: unable to handle page fault for address: 000000000000b604
Oops: 0000 [#1] SMP NOPTI
RIP: 0010:igc_rd32+0x1c/0x90 [igc]
Call Trace:
igc_ptp_suspend+0x6c/0xa0 [igc]
igc_ptp_stop+0x12/0x50 [igc]
igc_remove+0x7f/0x1c0 [igc]
pci_device_remove+0x3e/0xb0
__device_release_driver+0x181/0x240

Fixes: 13b5b7fd6a ("igc: Add support for Tx/Rx rings")
Fixes: b03c49cde6 ("igc: Save PTP time before a reset")
Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
Tested-by: Dvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-08-20 07:36:22 -07:00
..
e1000 intel: remove checker warning 2021-05-26 09:11:40 -07:00
e1000e e1000e: Fix an error handling path in 'e1000_probe()' 2021-07-01 10:59:21 -07:00
fm10k fm10k: Fix an error handling path in 'fm10k_probe()' 2021-07-01 10:59:21 -07:00
i40e i40e: Fix ATR queue selection 2021-08-19 09:55:23 -07:00
iavf iavf: Fix ping is lost after untrusted VF had tried to change MAC 2021-08-19 09:56:15 -07:00
ice ice: do not abort devlink info if board identifier can't be found 2021-08-19 18:20:01 -07:00
igb igb: Fix position of assignment to *ring 2021-07-01 10:59:21 -07:00
igbvf igbvf: convert to strongly typed descriptors 2021-05-26 09:11:41 -07:00
igc igc: fix page fault when thunderbolt is unplugged 2021-08-20 07:36:22 -07:00
ixgb intel: handle unused assignments 2020-09-25 16:28:59 -07:00
ixgbe ixgbe, xsk: clean up the resources in ixgbe_xsk_pool_enable error path 2021-08-17 17:47:52 -07:00
ixgbevf ixgbevf: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops 2021-07-06 10:36:59 -07:00
e100.c e100: handle eeprom as little endian 2021-05-26 09:11:40 -07:00
Kconfig ice: register 1588 PTP clock device object for E810 devices 2021-06-11 08:47:30 -07:00
Makefile