Bug 203237

Summary: nvme drive power button does not turn off drive
Product: Drivers Reporter: Micah Parrish (micah.parrish)
Component: PCIAssignee: drivers_pci (drivers_pci)
Status: NEW ---    
Severity: normal    
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 4.19 Subsystem:
Regression: No Bisected commit-id:

Description Micah Parrish 2019-04-09 23:32:53 UTC
In 4.18, pressing the ATTN button on an nvme drive would gracefully power off the drive.  In 4.19 and subsequent kernels, the drive immediately turns back on again.

4.18:

pciehp 0000:40:01.1:pcie004: Slot(3-1): Attention button pressed
pciehp 0000:40:01.1:pcie004: Slot(3-1): Powering off due to button press
pciehp 0000:40:01.1:pcie004: Slot(3-1): Link Down
pciehp 0000:40:01.1:pcie004: Slot(3-1): Already disabled

4.19:

[  225.066422] pciehp 0000:40:01.1:pcie004: Slot(3-1): Attention button pressed
[  225.066428] pciehp 0000:40:01.1:pcie004: Slot(3-1): Powering off due to button press
[  233.271306] pciehp 0000:40:01.1:pcie004: Slot(3-1): Card present
[  233.399304] pci 0000:42:00.0: [8086:0a54] type 00 class 0x010802
[  233.399339] pci 0000:42:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[  233.399372] pci 0000:42:00.0: Max Payload Size set to 256 (was 128, max 512)
[  233.399376] pci 0000:42:00.0: enabling Extended Tags
[  233.399649] pci 0000:42:00.0: BAR 0: assigned [mem 0xac000000-0xac003fff 64bit]
[  233.399661] pcieport 0000:40:01.1: PCI bridge to [bus 42]
[  233.399666] pcieport 0000:40:01.1:   bridge window [io  0x7000-0x7fff]
[  233.399672] pcieport 0000:40:01.1:   bridge window [mem 0xac000000-0xac0fffff]
[  233.399677] pcieport 0000:40:01.1:   bridge window [mem 0x3a000200000-0x3a0003fffff 64bit pref]
[  233.400886] nvme nvme1: pci function 0000:42:00.0
[  233.400966] nvme 0000:42:00.0: enabling device (0000 -> 0002)
[  234.293812]  nvme1n2: p1 p2 p3

I believe this is linked to https://github.com/torvalds/linux/commit/d331710ea78fea8b10624c87546d8bc0cd0389c9