The story short: compiler can generate code that does two distinct fetches of *ind_addr for old and _old. If that happens we can not figure out if we had the desired xchg or not.
Halil Pasic (2): virtio-ccw: fix virtio_set_ind_atomic s390x/pci: fix set_ind_atomic hw/s390x/s390-pci-bus.c | 16 +++++++++------- hw/s390x/virtio-ccw.c | 18 ++++++++++-------- 2 files changed, 19 insertions(+), 15 deletions(-) base-commit: 7d3660e79830a069f1848bb4fa1cdf8f666424fb -- 2.17.1