I tested the patch you provided on my local qemu install and it booted
successfully.
Index: sys/dev/pv/vioscsi.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pv/vioscsi.c,v
> retrieving revision 1.30
> diff -u -p -u -p -r1.30 vioscsi.c
> --- sys/dev/pv/vioscsi.c 16 Apr 2022 19:19:59 -0000 1.30
> +++ sys/dev/pv/vioscsi.c 25 Apr 2023 12:51:16 -0000
> @@ -296,6 +296,7 @@ vioscsi_req_done(struct vioscsi_softc *s
> struct scsi_xfer *xs = vr->vr_xs;
> DPRINTF("vioscsi_req_done: enter vr: %p xs: %p\n", vr, xs);
> + if (xs == NULL) return;
> int isread = !!(xs->flags & SCSI_DATA_IN);
> bus_dmamap_sync(vsc->sc_dmat, vr->vr_control,
> offsetof(struct vioscsi_req, vr_req),
>
> --
Aaron Mason - Programmer, open source addict
I've taken my software vows - for beta or for worse