From: Stefan Reiter Date: Mon, 27 Jul 2020 13:14:15 +0000 (+0200) Subject: virtio-scsi: fix boot prio detection by using correct lun X-Git-Tag: rel-1.14.0~2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f3ca59c6f3da0f30110ca216b072f8b602313734;p=seabios.git virtio-scsi: fix boot prio detection by using correct lun Commits d6bdb85eb0 virtio-scsi: skip initializing non-bootable devices f82e82a5ab2 virtio-mmio: add support for scsi devices. both use the lun value from tmpl_drv, which is always 0, instead of the correct one passed as a separate parameter. This causes systems where LUNs other than 0 are set as bootable, but 0 is not, to not boot. Reviewed-by: Paul Menzel Signed-off-by: Stefan Reiter --- diff --git a/src/hw/virtio-scsi.c b/src/hw/virtio-scsi.c index 59f1c65..369c981 100644 --- a/src/hw/virtio-scsi.c +++ b/src/hw/virtio-scsi.c @@ -126,14 +126,14 @@ virtio_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv) int prio = -1; if (tmpl_vlun->pci) - prio = bootprio_find_scsi_device(tmpl_vlun->pci, tmpl_vlun->target, tmpl_vlun->lun); + prio = bootprio_find_scsi_device(tmpl_vlun->pci, tmpl_vlun->target, lun); if (tmpl_vlun->mmio) - prio = bootprio_find_scsi_mmio_device(tmpl_vlun->mmio, tmpl_vlun->target, tmpl_vlun->lun); + prio = bootprio_find_scsi_mmio_device(tmpl_vlun->mmio, tmpl_vlun->target, lun); if (skip_nonbootable && prio < 0) { dprintf(1, "skipping init of a non-bootable virtio-scsi dev at %s," " target %d, lun %d\n", - tmpl_vlun->name, tmpl_vlun->target, tmpl_vlun->lun); + tmpl_vlun->name, tmpl_vlun->target, lun); return -1; }