Re: regression on aarch64? panic on boot

From: Klaus Jensen
Date: Tue Jan 17 2023 - 01:32:13 EST


On Jan 17 06:58, Christoph Hellwig wrote:
> On Mon, Jan 16, 2023 at 10:57:11PM +0100, Klaus Jensen wrote:
> > Hi,
> >
> > I'm getting panics when booting from a QEMU hw/nvme device on an aarch64
> > guest in roughly 20% of boots on v6.2-rc4. Example panic below.
>
> This smells like your setup somehow doesn't wait for async driver
> probe. Does the hack below work around it?
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index b13baccedb4a95..f47e19c701d520 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -3508,7 +3508,6 @@ static struct pci_driver nvme_driver = {
> .remove = nvme_remove,
> .shutdown = nvme_shutdown,
> .driver = {
> - .probe_type = PROBE_PREFER_ASYNCHRONOUS,
> #ifdef CONFIG_PM_SLEEP
> .pm = &nvme_dev_pm_ops,
> #endif

Good morning Christoph,

Yep, the above works.

My setup is a buildroot qemu_aarch64_virt_defconfig booting from an
emulated nvme device:

qemu-system-aarch64 -M "virt" -cpu "cortex-a53" -m 512M \
-nodefaults -nographic -snapshot -no-reboot \
-kernel images/Image \
-append "root=/dev/nvme0n1 console=ttyAMA0,115200" \
-drive file=images/rootfs.ext2,format=raw,if=none,id=d0 \
-device nvme,serial=default,drive=d0 \
-nic user,model=virtio \
-serial stdio

Attachment: signature.asc
Description: PGP signature