From: Michael S. Tsirkin Date: Wed, 13 Dec 2017 19:59:54 +0000 (+0200) Subject: virtio_error: don't invoke status callbacks X-Git-Tag: v2.11.1~67 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f79312153902cb486c67a9817c4d827f67cd41ff;p=thirdparty%2Fqemu.git virtio_error: don't invoke status callbacks Backends don't need to know what frontend requested a reset, and notifying then from virtio_error is messy because virtio_error itself might be invoked from backend. Let's just set the status directly. Cc: qemu-stable@nongnu.org Reported-by: Ilya Maximets Signed-off-by: Michael S. Tsirkin (cherry picked from commit 8fc47c876de638353bb635872f2c25bb7f4a3d6e) Signed-off-by: Michael Roth --- diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index ad564b01324..d6002ee5503 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -2469,7 +2469,7 @@ void GCC_FMT_ATTR(2, 3) virtio_error(VirtIODevice *vdev, const char *fmt, ...) va_end(ap); if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { - virtio_set_status(vdev, vdev->status | VIRTIO_CONFIG_S_NEEDS_RESET); + vdev->status = vdev->status | VIRTIO_CONFIG_S_NEEDS_RESET; virtio_notify_config(vdev); }