After unplug thunerbolt dock with i225, pciehp interrupt is triggered,Tested-by: Dvora Fuxbrumer <dvorax.fuxbrumer@xxxxxxxxxxxxxxx>
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
Signed-off-by: Aaron Ma <aaron.ma@xxxxxxxxxxxxx>
---
drivers/net/ethernet/intel/igc/igc_main.c | 32 ++++++++++++++---------
drivers/net/ethernet/intel/igc/igc_ptp.c | 3 ++-
2 files changed, 21 insertions(+), 14 deletions(-)