linux-yocto/drivers
Nilay Shroff 17f95d3485 nvme: fix PCIe subsystem reset controller state transition
commit 0edb475ac0a7d153318a24d4dca175a270a5cc4f upstream.

The commit d2fe192348 (“nvme: only allow entering LIVE from CONNECTING
state”) disallows controller state transitions directly from RESETTING
to LIVE. However, the NVMe PCIe subsystem reset path relies on this
transition to recover the controller on PowerPC (PPC) systems.

On PPC systems, issuing a subsystem reset causes a temporary loss of
communication with the NVMe adapter. A subsequent PCIe MMIO read then
triggers EEH recovery, which restores the PCIe link and brings the
controller back online. For EEH recovery to proceed correctly, the
controller must transition back to the LIVE state.

Due to the changes introduced by commit d2fe192348 (“nvme: only allow
entering LIVE from CONNECTING state”), the controller can no longer
transition directly from RESETTING to LIVE. As a result, EEH recovery
exits prematurely, leaving the controller stuck in the RESETTING state.

Fix this by explicitly transitioning the controller state from RESETTING
to CONNECTING and then to LIVE. This satisfies the updated state
transition rules and allows the controller to be successfully recovered
on PPC systems following a PCIe subsystem reset.

Cc: stable@vger.kernel.org
Fixes: d2fe192348 ("nvme: only allow entering LIVE from CONNECTING state")
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Nilay Shroff <nilay@linux.ibm.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-23 11:21:29 +01:00
..
accel accel/amdxdna: Block running under a hypervisor 2026-01-17 16:35:32 +01:00
accessibility
acpi ACPI: CPPC: Fix missing PCC check for guaranteed_perf 2026-01-02 12:56:57 +01:00
amba amba: tegra-ahb: Fix device leak on SMMU enable 2026-01-02 12:57:28 +01:00
android rust_binder: remove spin_lock() in rust_shrink_free_page() 2026-01-17 16:35:11 +01:00
ata ata: libata-core: Disable LPM on ST2000DM008-2FR102 2026-01-17 16:35:32 +01:00
atm atm: Fix dma_free_coherent() size 2026-01-17 16:35:10 +01:00
auxdisplay
base PM: runtime: Do not clear needs_force_resume with enabled runtime PM 2026-01-02 12:57:22 +01:00
bcma
block null_blk: fix kmemleak by releasing references to fault configfs items 2026-01-23 11:21:24 +01:00
bluetooth Bluetooth: btusb: revert use of devm_kzalloc in btusb 2026-01-08 10:16:44 +01:00
bus ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx 2026-01-02 12:56:59 +01:00
cache
cdrom
cdx
char char: applicom: fix NULL pointer dereference in ac_ioctl 2026-01-02 12:57:14 +01:00
clk clk: qcom: Fix dependencies of QCS_{DISP,GPU,VIDEO}CC_615 2026-01-08 10:16:59 +01:00
clocksource clocksource/drivers/nxp-stm: Prevent driver unbind 2025-12-18 14:03:20 +01:00
comedi comedi: check device's attached status in compat ioctls 2025-12-12 18:42:47 +01:00
connector
counter counter: interrupt-cnt: Drop IRQF_NO_THREAD flag 2026-01-17 16:35:12 +01:00
cpufreq cpufreq: nforce2: fix reference count leak in nforce2 2026-01-02 12:57:15 +01:00
cpuidle cpuidle: governors: teo: Drop misguided target residency check 2026-01-02 12:57:15 +01:00
crypto crypto: qat - fix duplicate restarting msg during AER error 2026-01-17 16:35:20 +01:00
cxl cxl/hdm: Fix potential infinite loop in __cxl_dpa_reserve() 2026-01-23 11:21:17 +01:00
dax drivers/dax: add some missing kerneldoc comment fields for struct dev_dax 2026-01-23 11:21:20 +01:00
dca
devfreq PM / devfreq: hisi: Fix potential UAF in OPP handling 2025-12-18 14:03:11 +01:00
dibs
dio
dma dmaengine: omap-dma: fix dma_pool resource leak in error paths 2026-01-23 11:21:22 +01:00
dma-buf dma-fence: Fix safe access wrapper to call timeline name method 2025-10-24 16:56:37 +01:00
dpll dpll: zl3073x: Fix output pin registration 2025-10-28 18:54:48 -07:00
edac EDAC/i3200: Fix a resource leak in i3200_probe1() 2026-01-23 11:21:28 +01:00
eisa
extcon
firewire firewire: nosy: Fix dma_free_coherent() size 2026-01-08 10:16:47 +01:00
firmware efi/cper: Fix cper_bits_to_str buffer handling and return value 2026-01-23 11:21:12 +01:00
fpga
fsi
fwctl
gnss
gpio gpio: mpsse: fix reference leak in gpio_mpsse_probe() error paths 2026-01-17 16:35:31 +01:00
gpu drm/amdgpu/userq: Fix fence reference leak on queue teardown v2 2026-01-23 11:21:19 +01:00
greybus greybus: gb-beagleplay: Fix timeout handling in bootloader functions 2025-12-18 14:03:21 +01:00
hid HID: usbhid: paper over wrong bNumDescriptor field 2026-01-23 11:21:23 +01:00
hsi
hte
hv mshv: Fix create memory region overlap check 2025-12-18 14:03:02 +01:00
hwmon hwmon: (dell-smm) Fix off-by-one error in dell_smm_is_visible() 2026-01-08 10:16:56 +01:00
hwspinlock
hwtracing intel_th: Fix error handling in intel_th_output_open 2026-01-02 12:57:14 +01:00
i2c i2c: riic: Move suspend handling to NOIRQ phase 2026-01-23 11:21:28 +01:00
i3c i3c: master: svc: Prevent incomplete IBI transaction 2025-12-18 14:02:44 +01:00
idle
iio iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains 2026-01-02 12:57:02 +01:00
infiniband RDMA/cm: Fix leaking the multicast GID table reference 2026-01-08 10:17:11 +01:00
input Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk table 2026-01-02 12:56:56 +01:00
interconnect interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes 2026-01-02 12:57:30 +01:00
iommu iommu: disable SVA when CONFIG_X86 is set 2026-01-08 10:16:56 +01:00
ipack
irqchip irqchip/gic-v5: Fix gicv5_its_map_event() ITTE read endianness 2026-01-17 16:35:30 +01:00
isdn isdn: mISDN: hfcsusb: fix memory leak in hfcsusb_probe() 2025-10-31 17:39:14 -07:00
leds leds: leds-lp50xx: Enable chip before any communication 2026-01-08 10:16:58 +01:00
macintosh macintosh/mac_hid: fix race condition in mac_hid_toggle_emumouse 2025-12-18 14:02:55 +01:00
mailbox mailbox: th1520: fix clock imbalance on probe failure 2025-11-28 09:47:44 -06:00
mcb
md dm-snapshot: fix 'scheduling while atomic' on real-time kernels 2026-01-17 16:35:16 +01:00
media media: mediatek: vcodec: Fix a reference leak in mtk_vcodec_fw_vpu_init() 2026-01-08 10:17:05 +01:00
memory memory: tegra210: Fix incorrect client ids 2025-10-23 15:32:21 +02:00
memstick
message
mfd mfd: max77620: Fix potential IRQ chip conflict when probing two devices 2026-01-08 10:16:59 +01:00
misc mei: me: add nova lake point S DID 2026-01-17 16:35:11 +01:00
mmc mmc: sdhci-msm: Avoid early clock doubling during HS400 transition 2026-01-02 12:57:07 +01:00
most most: usb: fix double free on late probe failure 2025-11-09 11:15:20 +09:00
mtd mtd: spi-nor: winbond: Add support for W25H02NWxxAM chips 2026-01-08 10:17:01 +01:00
mux
net virtio-net: don't schedule delayed refill worker 2026-01-23 11:21:25 +01:00
nfc nfc: pn533: Fix error code in pn533_acr122_poweron_rdr() 2026-01-02 12:56:47 +01:00
ntb
nubus
nvdimm
nvme nvme: fix PCIe subsystem reset controller state transition 2026-01-23 11:21:29 +01:00
nvmem nvmem: layouts: fix nvmem_layout_bus_uevent 2025-11-24 18:08:10 +01:00
of of: unittest: Fix memory leak in unittest_data_add() 2026-01-17 16:35:18 +01:00
opp
parisc parisc: Do not reprogram affinitiy on ASP chip 2026-01-02 12:57:19 +01:00
parport
pci x86/kaslr: Recognize all ZONE_DEVICE users as physaddr consumers 2026-01-23 11:21:25 +01:00
pcmcia
peci
perf perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister() 2026-01-02 12:57:07 +01:00
phy phy: tegra: xusb: Explicitly configure HS_DISCON_LEVEL to 0x7 2026-01-23 11:21:26 +01:00
pinctrl pinctrl: mediatek: mt8189: restore previous register base name array order 2026-01-17 16:35:20 +01:00
platform platform/x86: alienware-wmi-wmax: Add support for Alienware 16X Aurora 2026-01-08 10:17:14 +01:00
pmdomain pmdomain: imx: Fix reference count leak in imx_gpc_probe() 2026-01-08 10:17:09 +01:00
pnp
power power: supply: max77705: Fix potential IRQ chip conflict when probing two devices 2026-01-08 10:17:02 +01:00
powercap powercap: fix sscanf() error return value handling 2026-01-17 16:35:32 +01:00
pps
ps3
ptp ptp: Allow exposing cycles only for clocks with free-running counter 2025-10-31 16:27:40 -07:00
pwm pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling channel is enabled 2026-01-02 12:57:29 +01:00
rapidio
ras RAS: Report all ARM processor CPER information to userspace 2025-12-18 14:03:09 +01:00
regulator regulator: spacemit: Align input supply name with the DT binding 2025-12-18 14:03:39 +01:00
remoteproc remoteproc: qcom_q6v5_wcss: fix parsing of qcom,halt-regs 2025-12-18 14:03:28 +01:00
reset reset: imx8mp-audiomix: Fix bad mask values 2025-11-05 16:12:28 +01:00
rpmsg rpmsg: glink: fix rpmsg device leak 2026-01-02 12:57:29 +01:00
rtc rtc: max31335: Fix ignored return value in set_alarm 2025-12-18 14:03:38 +01:00
s390 s390/dasd: Fix gendisk parent after copy pair swap 2026-01-02 12:57:08 +01:00
sbus
scsi scsi: core: Fix error handler encryption support 2026-01-23 11:21:23 +01:00
sh
siox
slimbus slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves 2025-11-09 11:14:59 +09:00
soc soc: amlogic: canvas: fix device leak on lookup 2026-01-02 12:57:29 +01:00
soundwire soundwire: bus: fix off-by-one when allocating slave IDs 2026-01-23 11:21:22 +01:00
spi spi: cadence-quadspi: Prevent lost complete() call during indirect read 2026-01-17 16:35:33 +01:00
spmi
ssb
staging staging: fbtft: core: fix potential memory leak in fbtft_probe_common() 2025-12-18 14:03:16 +01:00
target scsi: target: Reset t_task_cdb pointer in error case 2026-01-02 12:57:16 +01:00
tc
tee QCOMTEE fixes2 for v6.18 2025-11-21 21:27:20 +01:00
thermal
thunderbolt
tty serial: sh-sci: Check that the DMA cookie is valid 2026-01-02 12:57:15 +01:00
ufs scsi: ufs: core: Fix EH failure after W-LUN resume error 2026-01-17 16:35:18 +01:00
uio uio: uio_fsl_elbc_gpcm:: Add null pointer check to uio_fsl_elbc_gpcm_probe 2025-12-18 14:02:34 +01:00
usb tcpm: allow looking for role_sw device in the main node 2026-01-23 11:21:28 +01:00
vdpa virtio: vdpa: Fix reference count leak in octep_sriov_enable() 2026-01-02 12:57:28 +01:00
vfio vfio/pci: Disable qword access to the PCI ROM bar 2026-01-08 10:17:21 +01:00
vhost vhost/vsock: improve RCU read sections around vhost_vsock_get() 2026-01-02 12:57:04 +01:00
video fbdev: tcx.c fix mem_map to correct smem_start offset 2026-01-08 10:17:03 +01:00
virt
virtio virtio: clean up features qword/dword terms 2025-12-18 14:03:24 +01:00
w1
watchdog via_wdt: fix critical boot hang due to unnamed resource allocation 2026-01-02 12:57:01 +01:00
xen
zorro
Kconfig
Makefile