mbox series

[SRU,J,0/3] DPC Fixes for Failure Cases of DownPort Containment events

Message ID 20220513215421.30945-1-michael.reed@canonical.com
Headers show
Series DPC Fixes for Failure Cases of DownPort Containment events | expand

Message

Michael Reed May 13, 2022, 9:54 p.m. UTC
From: Michael Reed <Michael.Reed@canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1965241

SRU Justification:

[Impact]
Recovery from DownPort Containment events fail and the NVMe endpoint is not accessible in some scenarios.

[Fix]

These are some of the DPC fixes which help in handling some of the failure cases of DownPort Containment events.

Upstream kernel patches to be included into Ubuntu 22.04 and into Ubuntu 20.04.5:

Already in Jammy as of Ubuntu-5.15.0-1.1
PCI/portdrv: Enable Bandwidth Notification only if port supports it
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.17-rc6&id=00823dcbdd415c868390feaca16f0265101efab4

PCI: pciehp: Ignore Link Down/Up caused by error-induced Hot Reset
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.17-rc6&id=ea401499e943c307e6d44af6c2b4e068643e7884

3134689f98 PCI/portdrv: Rename pm_iter() to pcie_port_device_iter()

[Test Case]

1. Disable the memory space of NVMe end point device
2. Issue IO to the device
3. Observe dmesg. dmesg shows that EDR event is generated, link is contained and NVMe device is recovered.

2. Observe the dmesg

[Other Info]
https://code.launchpad.net/~mreed8855/ubuntu/+source/linux/+git/jammy/+ref/test_dpc_1965241

Lukas Wunner (2):
  PCI/portdrv: Rename pm_iter() to pcie_port_device_iter()
  PCI: pciehp: Ignore Link Down/Up caused by error-induced Hot Reset

Michael Reed (1):
  Enable config option CONFIG_PCIE_EDR

 .../config/amd64/config.common.amd64          |     7 +-
 debian.master/config/annotations              |     2 +-
 .../config/arm64/config.common.arm64          |     5 +
 .../config/armhf/config.common.armhf          |     5 +
 debian.master/config/config.common.ubuntu     |     5 -
 .../config/ppc64el/config.common.ppc64el      |     5 +
 .../config/s390x/config.common.s390x          |     5 +
 debian/canonical-certs.pem                    |   246 +
 debian/canonical-revoked-certs.pem            |    86 +
 debian/changelog                              | 17464 ++++++++++++++++
 debian/control                                |   584 +
 debian/copyright                              |    29 +
 debian/scripts/fix-filenames.c                |     0
 debian/scripts/sub-flavour                    |     0
 drivers/pci/hotplug/pciehp.h                  |     2 +
 drivers/pci/hotplug/pciehp_core.c             |     2 +
 drivers/pci/hotplug/pciehp_hpc.c              |    26 +
 drivers/pci/pcie/portdrv.h                    |     3 +
 drivers/pci/pcie/portdrv_core.c               |    20 +-
 drivers/pci/pcie/portdrv_pci.c                |     3 +
 scripts/ubuntu-retpoline-extract-one          |   270 +
 21 files changed, 18752 insertions(+), 17 deletions(-)
 create mode 100644 debian/canonical-certs.pem
 create mode 100644 debian/canonical-revoked-certs.pem
 create mode 100644 debian/changelog
 create mode 100644 debian/control
 create mode 100644 debian/copyright
 mode change 100644 => 100755 debian/scripts/fix-filenames.c
 mode change 100644 => 100755 debian/scripts/sub-flavour
 create mode 100755 scripts/ubuntu-retpoline-extract-one