When the request times out, the kernel should be printing the command ID. What does that say? The driver thinks the 0 is invalid, so I'm just curious what value it's expecting.
On Thu, Dec 8, 2022, 8:13 PM Guenter Roeck <li...@roeck-us.net> wrote: > On Thu, Dec 08, 2022 at 10:47:42AM -0800, Guenter Roeck wrote: > > > > > > A cq head doorbell mmio is skipped... And it is not the fault of the > > > kernel. The kernel is in it's good right to skip the mmio since the cq > > > eventidx is not properly updated. > > > > > > Adding that and it boots properly on riscv. But I'm perplexed as to why > > > this didnt show up on our regularly tested platforms. > > > > > > Gonna try to get this in for 7.2! > > > > I see another problem with sparc64. > > > > [ 5.261508] could not locate request for tag 0x0 > > [ 5.261711] nvme nvme0: invalid id 0 completed on queue 1 > > > > That is seen repeatedly until the request times out. I'll test with > > your patch to see if it resolves this problem as well, and will bisect > > otherwise. > > > The second problem is unrelated to the doorbell problem. > It is first seen in qemu v7.1. I'll try to bisect. > > Guenter >