xhci: Add a few missing checks for disconnected devices
commitde9de157fbb9aa66380ab1973dd6ecf12fbd8b25
authorHans de Goede <hdegoede@redhat.com>
Tue, 19 Nov 2013 13:36:59 +0000 (19 14:36 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 26 Nov 2013 08:21:17 +0000 (26 09:21 +0100)
tree2f7777a78ff725c142c40eadef87a9b66e920412
parent7457fe9541b5162f285454947448d553a5d5a531
xhci: Add a few missing checks for disconnected devices

One of the reworks of qemu's usb core made changes to usb-port's disconnect
handling. Now ports with a device will always have a non 0 dev member, but
if the device is not attached (which is possible with usb redirection),
dev->attached will be 0.

So supplement all checks for dev to also check dev->attached, and add an
extra check in a path where a device check was completely missing.

This fixes various crashes (asserts triggering) I've been seeing when xhci
attached usb devices get disconnected at the wrong time.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb/hcd-xhci.c