igc: Fix suspending when PTM is active
authorVinicius Costa Gomes <vinicius.gomes@intel.com>
Wed, 13 Apr 2022 01:58:15 +0000 (18:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Apr 2022 12:38:53 +0000 (14:38 +0200)
commitc7c71b3e47643a9d61f31fa785e2384c651925a2
treec64e07d75d8eed077016c74fd3e8014bdb415f4e
parentda323d0d6aaace047f005504273d928078bf3f83
igc: Fix suspending when PTM is active

[ Upstream commit 822f52e7efdc88fccffb9fbf6250a4b7666a0b0f ]

Some mainboard/CPU combinations, in particular, Alder Lake-S with a
W680 mainboard, have shown problems (system hangs usually, no kernel
logs) with suspend/resume when PCIe PTM is enabled and active. In some
cases, it could be reproduced when removing the igc module.

The best we can do is to stop PTM dialogs from the downstream/device
side before the interface is brought down. PCIe PTM will be re-enabled
when the interface is being brought up.

Fixes: a90ec8483732 ("igc: Add support for PTP getcrosststamp()")
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Acked-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/igc/igc_ptp.c