qemu/hw
Kevin Wolf 622a70161a scsi-block: Don't skip callback for sgio error status/driver_status
Instead of calling into scsi_handle_rw_error() directly from
scsi_block_sgio_complete() and skipping the normal callback, go through
the normal cleanup path by calling the callback with a positive error
value.

The important difference here is not only that the code path is cleaner,
but that the callbacks set r->req.aiocb = NULL. If we skip setting this
and the error action is BLOCK_ERROR_ACTION_STOP, resuming the VM runs
into an assertion failure in scsi_read_data() or scsi_write_data()
because the dangling aiocb pointer is unexpected.

Fixes: a108557bbf ("scsi: inline sg_io_sense_from_errno() into the callers.")
Buglink: https://issues.redhat.com/browse/RHEL-50000
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20240731123207.27636-3-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2024-08-06 20:12:39 +02:00
..
9pfs hw/xen: Make XenDevOps structures const 2024-06-04 11:53:43 +02:00
acpi hw/acpi: Update CPUs AML with cpu-(ctrl)dev change 2024-07-22 20:15:41 -04:00
adc aspeed/adc: Add AST2700 support 2024-07-21 07:46:38 +02:00
alpha
arm hw/arm/mps2-tz.c: fix RX/TX interrupts order 2024-08-01 10:15:02 +01:00
audio virtio-snd: check for invalid param shift operands 2024-07-21 14:43:02 -04:00
avr
block hw/block: Add Microchip's 25CSM04 to m25p80 2024-07-26 09:21:06 +10:00
char hw/char/bcm2835_aux: Fix assert when receive FIFO fills up 2024-07-29 13:34:18 +01:00
core virtio,pci,pc: features,fixes 2024-07-24 09:32:04 +10:00
cpu
cris
cxl Misc HW patch queue 2024-07-24 15:39:43 +10:00
display virtio-gpu-gl: declare dependency on ui-opengl 2024-07-22 12:47:28 +04:00
dma hw/dma: Add a trace log for a description loading failure 2024-06-18 14:52:00 +02:00
fsi
gpio hw/gpio/aspeed: Add reg_table_count to AspeedGPIOClass 2024-07-02 07:52:43 +02:00
hppa
hyperv
i2c hw/i2c/mpc_i2c: Fix mmio region size 2024-07-23 20:30:36 +02:00
i386 intel_iommu: Fix for IQA reg read dropped DW field 2024-08-01 04:32:00 -04:00
ide hw/ide/macio: switch from using qemu_allocate_irq() to qdev input GPIOs 2024-07-02 06:58:48 +02:00
input hw: arm: Remove use of tabs in some source files 2024-05-28 14:20:48 +01:00
intc pnv/xive2: Dump more END state with 'info pic' 2024-07-26 09:51:33 +10:00
ipack
ipmi
isa hw/isa/vt82c686: Turn "intr" irq into a named gpio 2024-07-16 20:04:08 +02:00
loongarch hw/loongarch/virt: Remove unused assignment 2024-07-12 09:41:18 +08:00
m68k hw: skip registration of outdated versioned machine types 2024-07-02 06:58:37 +02:00
mem hw/cxl/cxl-mailbox-utils: Add device DDR5 ECS control feature 2024-07-21 14:42:04 -04:00
microblaze
mips hw/mips/loongson3_virt: remove useless type cast 2024-07-23 20:30:36 +02:00
misc hw/misc/bcm2835_property: Reduce scope of variables in mbox push function 2024-07-29 16:55:59 +01:00
net virtio-net: Fix network stall at the host side waiting for kick 2024-08-02 11:09:52 +08:00
nubus hw/nubus/virtio-mmio: Fix missing ERRP_GUARD() in realize handler 2024-07-23 22:34:09 +02:00
nvme Revert "pcie_sriov: Ensure VF function number does not overflow" 2024-08-01 04:32:00 -04:00
nvram hw/nvram: Add BCM2835 OTP device 2024-07-01 12:48:55 +01:00
openrisc
pci Revert "hw/pci: Rename has_power to enabled" 2024-08-01 04:32:00 -04:00
pci-bridge
pci-host acpi/gpex: Create PCI link devices outside PCI root bridge 2024-07-22 20:15:42 -04:00
pcmcia
ppc Revert "hw/ppc/spapr_pci: Do not create DT for disabled PCI device" 2024-08-01 04:32:00 -04:00
remote
riscv hw/riscv/virt-acpi-build.c: Update the HID of RISC-V UART 2024-07-22 20:15:42 -04:00
rtc docs: Correct Loongarch -> LoongArch 2024-07-23 20:30:36 +02:00
rx
s390x virtio: features,fixes 2024-07-03 20:54:17 -07:00
scsi scsi-block: Don't skip callback for sgio error status/driver_status 2024-08-06 20:12:39 +02:00
sd hw/sd/sdcard: Support boot area in emmc image 2024-07-16 20:30:15 +02:00
sensor
sh4 hw/sh4: Remove newline character in trace events 2024-06-10 13:05:27 -04:00
smbios smbios: make memory device size configurable per Machine 2024-07-22 20:15:41 -04:00
sparc
sparc64
ssi hw/ppc: SPI controller wiring to P10 chip 2024-07-26 09:21:06 +10:00
timer hpet: avoid timer storms on periodic timers 2024-07-22 19:19:44 +02:00
tpm
tricore
ufs hw/ufs: Fix mcq register range check logic 2024-07-14 17:11:21 +09:00
usb hw/usb/u2f-passthru: Get rid of qemu_open_old() 2024-07-17 14:04:15 +03:00
vfio vfio queue: 2024-07-24 12:58:46 +10:00
virtio virtio-net: Fix network stall at the host side waiting for kick 2024-08-02 11:09:52 +08:00
watchdog aspeed/wdt: Add AST2700 support 2024-06-16 21:08:54 +02:00
xen xen: mapcache: Fix unmapping of first entries in buckets 2024-07-12 00:17:36 +02:00
xenpv hw/xen: Register framebuffer backend via xen_backend_init() 2024-06-04 11:53:43 +02:00
xtensa
Kconfig
meson.build