qemu-e2k/hw
Daniel P. Berrangé 3fd2092fd1 hw/usb: fix mistaken de-initialization of CCID state
In previous commit:

  commit 7dea29e4af
  Author: Li Qiang <liq3ea@gmail.com>
  Date:   Fri Oct 19 03:50:36 2018 -0700

    hw: ccid-card-emulated: cleanup resource when realize in error path

The emulated_realize method was changed so that it jumps to a cleanup
label to de-initialize state upon error. This change failed to ensure
the success path exited the method before this point though. So the
mutexes are always destroyed even in normal operation. The result is
as crashtastic as expected:

$ qemu-system-x86_64 -usb -device usb-ccid,id=ccid0 -device ccid-card-emulated,backend=nss-emulated,id=smartcard0,bus=ccid0.0
qemu-system-x86_64: util/qemu-thread-posix.c:64: qemu_mutex_lock_impl: Assertion `mutex->initialized' failed.
Aborted (core dumped)

Fixes: 7dea29e4af
Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20181221134115.27973-1-berrange@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2019-01-07 14:12:20 +01:00
..
9pfs
acpi pci/pcihp: perform unplug via the hotplug handler 2018-12-20 11:19:12 -05:00
adc
alpha
arm hw: acpi: Export and share the ARM RSDP build 2018-12-19 16:48:16 -05:00
audio
block miscellaneous patches: 2018-12-16 16:32:43 +00:00
bt
char qmp hmp: Make system_wakeup check wake-up support and run state 2018-12-18 07:55:47 +01:00
core q35: set split kernel irqchip as default 2018-12-20 13:25:11 -05:00
cpu
cris
display virtio: Helper for registering virtio device types 2018-12-19 16:48:16 -05:00
dma
gpio
hppa
hyperv
i2c
i386 x86-iommu: turn on IR by default if proper 2018-12-20 13:25:11 -05:00
ide
input qmp hmp: Make system_wakeup check wake-up support and run state 2018-12-18 07:55:47 +01:00
intc spapr: add a 'reset' method to the sPAPR IRQ backend 2018-12-21 09:40:35 +11:00
ipack
ipmi
isa
lm32
m68k
mem
microblaze
mips
misc miscellaneous patches: 2018-12-16 16:32:43 +00:00
moxie
net vmxnet3: Move some definitions to header file 2018-12-22 11:09:56 +02:00
nios2
nvram fw_cfg: Make qemu_extra_params_fw locally 2019-01-04 15:30:52 +01:00
openrisc
pci pci: Adjust PCI config limit based on bus topology 2018-12-20 11:25:36 -05:00
pci-bridge pci/shpc: perform unplug via the hotplug handler 2018-12-20 11:19:12 -05:00
pci-host
pcmcia
ppc ppc patch queue 2018-12-21 2018-12-21 15:49:59 +00:00
rdma pvrdma: check return value from pvrdma_idx_ring_has_ routines 2018-12-22 11:09:57 +02:00
riscv sifive_uart: Implement interrupt pending register 2018-12-20 12:08:43 -08:00
s390x pci, pc, virtio: fixes, features 2018-12-21 14:06:01 +00:00
scsi
sd
sh4
smbios hw/smbios: Move to the hw/firmware/ subdirectory 2018-12-19 16:48:16 -05:00
sparc
sparc64
ssi
timer qmp hmp: Make system_wakeup check wake-up support and run state 2018-12-18 07:55:47 +01:00
tpm
tricore
unicore32
usb hw/usb: fix mistaken de-initialization of CCID state 2019-01-07 14:12:20 +01:00
vfio pci, pc, virtio: fixes, features 2018-12-21 14:06:01 +00:00
virtio virtio: Provide version-specific variants of virtio PCI devices 2018-12-19 16:48:16 -05:00
watchdog
xen
xenpv
xtensa
Makefile.objs