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:40:58 +0000 (14:40 +0200)
commitcd1c31eb279738d9a6719237a32ef92b7dec43b0
tree4a9908884cf8b12f24a3d45e529f680266ed4815
parentd7809f64e7a6f76d2937b4712b9a7b63835e7204
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