!162 SPR: EDPC get recoveried but the PCI configuration registers value changed
Merge Pull Request from: @youquan_song [Description] https://gitee.com/openeuler/intel-kernel/issues/I5V39J current OLK-5.10 kernel running on SPR server, when the eDPC (Enhanced Downstream Port Containment) was triggered on PCIe device and detected by OS, OS will do recovery from error by reset the link and it also will reset slot if NEED_RESET. But with current OLK-5.10 kernel, after eDPC recovery the PCI configuration registers have changed comparing to the registers before eDPC recovery. Like MaxRedReq/Maxpayload. The issue was because OLK-5.10 kernel missed below patch, which has overwritted the NEED_RESET result, so the slot reset is possible to be skipped. PCI/ERR: Retain status from error notification commit 387c72cd upstream. Overwriting the frozen detected status with the result of the link reset loses the NEED_RESET result that drivers are depending on for error handling to report the .slot_reset() callback. Retain this status so that subsequent error handling has the correct flow. [Testing] BIOS is set to enable eDPC Log the target device PCIe configuration values Trigger eDPC (hotplug) or eDPC software injection Log the target device PCIe configuration values compare the PCIe configuration before/after eDPC get recovery. Link:https://gitee.com/openeuler/kernel/pulls/162 Reviewed-by:Jun Tian <jun.j.tian@intel.com> Reviewed-by:
Zheng Zengkai <zhengzengkai@huawei.com> Reviewed-by:
Xiongfeng Wang <wangxiongfeng2@huawei.com> Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com>
Loading
Please sign in to comment