[PATCH] nvme: fixup boot failure on nvme-pci
Domenico Andreoli
domenico.andreoli at linux.com
Mon Apr 14 07:23:54 PDT 2025
On Mon, Apr 14, 2025 at 02:26:16PM +0200, Christoph Hellwig wrote:
> On Mon, Apr 14, 2025 at 02:05:09PM +0200, hare at kernel.org wrote:
> > From: Hannes Reinecke <hare at kernel.org>
> >
> > Commit 62baf70c3274 caused the ANA log page to be re-read, even on systems
> > where the ANA is not supported.
>
> And unsupported log page should normally not cause a boot failure, but
> it seems the controller in question does not handle it well. I've
> applied the patch with a better subjet and commit message explaining this.
These are the messages that hang my FriendlyELEC NanoPI M4 SBC at boot:
[ 4.342362] nvme nvme0: 6/0/0 default/read/poll queues
[ 4.359986] nvme0n1: p2 p3 p8 p9
[ 35.830402] nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x1010
[ 35.879571] nvme0n1: I/O Cmd(0x2) @ LBA 1000215040, 8 blocks, I/O Error (sct 0x3 / sc 0x71)
[ 35.880346] I/O error, dev nvme0n1, sector 1000215040 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 35.881320] nvme nvme0: Failed to get ANA log: -4
[ 35.926157] nvme nvme0: D3 entry latency set to 8 seconds
[ 35.939041] nvme nvme0: 6/0/0 default/read/poll queues
[ 66.550428] nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x1010
[ 66.600020] nvme0n1: I/O Cmd(0x2) @ LBA 1000215152, 8 blocks, I/O Error (sct 0x3 / sc 0x71)
[ 66.600806] I/O error, dev nvme0n1, sector 1000215152 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 66.610493] nvme nvme0: Failed to get ANA log: -4
[ 66.654065] nvme nvme0: D3 entry latency set to 8 seconds
[ 66.667024] nvme nvme0: 6/0/0 default/read/poll queues
[ 97.270420] nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x1010
[ 97.320023] nvme0n1: I/O Cmd(0x2) @ LBA 1000214240, 8 blocks, I/O Error (sct 0x3 / sc 0x71)
[ 97.320796] I/O error, dev nvme0n1, sector 1000214240 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 97.330486] nvme nvme0: Failed to get ANA log: -4
[ 97.378015] nvme nvme0: D3 entry latency set to 8 seconds
[ 97.390837] nvme nvme0: 6/0/0 default/read/poll queues
> But if the controller handles unsupported log pages so badly it will
> probably cause trouble in the future as well, or even now when
> applications ask for unsupported log pages using the passthrough
> interfaces.
>
> Srikanth: what controller is this? I'd like to add that to the commit
> message as well.
00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3399 PCI Express Root Port
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
With the patch above everything works again.
Thanks,
Dom
--
rsa4096: 3B10 0CA1 8674 ACBA B4FE FCD2 CE5B CF17 9960 DE13
ed25519: FFB4 0CC3 7F2E 091D F7DA 356E CC79 2832 ED38 CB05
More information about the Linux-nvme
mailing list